`
pzk417
  • 浏览: 28258 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

设计模式学习--Decorator模式

阅读更多
(一)Decorator模式——包装器模式
    使用典型:(1)JAVA的IO包的应用 BufferedInputStream(DataInputStream)..
            (2)sitemesh的页面装饰布局框架组件 decorators.xml就是它的配置文件
    作用:它能通过创建一个包装对象,也就是装饰来包裹的对象。不必改变原类文件和使用集成的情况下,动态地扩展一个对象的功能。
   1)使用方法:
   一般是一个父类或接口
   而下面有一些透明的我们可以实现的类
     而再下面就是我们的包装类
     在包装类的构造方法里面传入接口/父类
     而且在包装类覆盖父类的方法 扩展和修改那个方法的特性作用
     eg:
   
  new BufferedInputStream(DataInputStream)中InputStream类是DataInputStream和BufferedInputStream的父类
     但BufferedInputStream 覆盖了 write() read()等方法 并假如缓存的功能


      

  2)  应用eg:
  sitemesh的核心就是一个Filter
   在WEB-INF/web.xml中加入
      
 <filter>
           <filter-name>sitemesh</filter-name>
          <filter-class>
          com.opensymphony.module.sitemesh.filter.PageFilter
          </filter-class>
          </filter>
          <filter-mapping>
          <filter-name>sitemesh</filter-name>
          <url-pattern>/*</url-pattern>
          </filter-mapping>
  同时 你在
    在WEB-INF下建立decorators.xml描述各装饰器页面。加入
        
 <decorators defaultdir="/decorators">
          <decorator name="template" page="template.jsp">
          <pattern>*</pattern>
           </decorator>
         </decorators>
 
     表明定义了 要把什么模板样式(共同的页面头啊 什么版权信息啊 写在template.jsp中)<decorator:title /> <decorator:head />  <decorator:body/>。。。定义放置的位置
那么你以后在这个web应用中使用任何的页面 都会自动包装上template.jsp 在对应位置上 ... 就有 你在模板上定义的东西
0
0
分享到:
评论

相关推荐

    设计模式精解-GoF-23种设计模式解析--附C++源代码

    C++源代码文件可以帮助你更好地理解如何在实际项目中应用这些模式,通过阅读和分析代码,你可以学习如何在C++中实现这些设计模式,并将它们融入到自己的编程实践中。 总而言之,设计模式是软件开发中的宝贵财富,...

    C++设计模式--基于Qt4开源跨平台开发框架

    通过学习《C++设计模式--基于Qt4开源跨平台开发框架》,开发者不仅可以掌握设计模式的本质和应用场景,还能深入理解Qt4框架的强大功能。结合两者,能够提高代码质量,降低维护成本,同时实现高效且可靠的跨平台应用...

    设计模式精解-GoF 23种设计模式解析附C++实现源码

    通过学习和掌握GoF的23种设计模式,可以显著提高程序员的编码水平,使得开发出的软件系统更加健壮、可扩展、易维护。以上每种模式都有其特定的应用场景,理解和掌握它们的关键在于不断实践和总结,在实际项目中灵活...

    设计模式精解-GoF 23种设计模式解析附C++.pdf

    设计模式的学习过程通常分为四个阶段:学习、表达、教授、记录。每个阶段都需要不同的技能和深度的理解。 #### 0.2 设计模式解析后记 在完成所有设计模式的学习和解析之后,开发者会发现自己已经进入了一个新的...

    java设计模式---诙谐易懂版

    总结来说,设计模式是软件开发中的重要工具,通过学习和运用不同的设计模式和设计原则,可以帮助开发者更好地解决编程中的各种问题,提升代码质量和团队协作效率。在Java开发中,正确理解和应用这些模式和原则,对于...

    设计模式精解-GoF 23 种设计模式解析附 C++实现源码

    ### 设计模式精解—GoF 23种设计模式解析及C++实现源码 #### 0. 引言 设计模式作为一种重要的面向对象设计工具,在软件...设计模式的学习是一个渐进的过程,随着经验的积累,我们将越来越能体会到它们的价值所在。

    设计模式精解-GoF 23种设计模式解析c++.pdf

    《设计模式精解-GoF 23种设计模式解析c++.pdf》这份资料深入剖析了GoF(Gang of Four)所提出的23种设计模式,并提供了C++语言的具体实现,为读者提供了理论与实践相结合的学习路径。下面,我们将详细解读这份资料...

    26种设计模式-----pdf

    设计模式是软件工程中的一种最佳实践,它是在特定上下文中解决常见问题的模板。这个压缩包文件名为"26种...通过深入学习和实践这些设计模式,开发者可以进一步提升自己的编程技能,更好地应对各种复杂的软件设计挑战。

    设计模式PPT---25种设计模式详解

    这份PPT涵盖了设计模式的全貌,对于初学者来说,是一个很好的学习资源。通过深入学习这些模式,开发者可以更好地理解和应用面向对象设计原则,提升代码质量和可维护性。同时,理解并熟练运用设计模式,也是成为一名...

    JAVA设计模式---100%推荐

    这篇名为"JAVA设计模式---100%推荐"的资源,可能是对Java设计模式的深入解析,旨在帮助开发者更好地理解和应用这些模式。 设计模式通常分为三类:创建型、结构型和行为型。创建型模式涉及对象的实例化过程,如单例...

    设计模式精解-GoF 23种设计模式解析

    学习设计模式的过程可能会让人感到痛苦,尤其是在初读GoF的经典著作《设计模式:可复用面向对象软件的基础》时,面对大量抽象的概念和术语可能会感到困惑。然而,随着实践经验的积累,你会发现设计模式的强大之处,...

    设计模式1-创建型模式

    设计模式的学习和运用对软件系统开发有着非常重要的意义,它可以帮助开发者更好地解决设计问题,降低设计成本和风险,提高系统的可维护性和可扩展性。 学习设计模式的重要性可以从以下几个方面来体现: 首先,学习...

Global site tag (gtag.js) - Google Analytics