(一)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 在对应位置上 ... 就有 你在模板上定义的东西
分享到:
相关推荐
C++源代码文件可以帮助你更好地理解如何在实际项目中应用这些模式,通过阅读和分析代码,你可以学习如何在C++中实现这些设计模式,并将它们融入到自己的编程实践中。 总而言之,设计模式是软件开发中的宝贵财富,...
通过学习《C++设计模式--基于Qt4开源跨平台开发框架》,开发者不仅可以掌握设计模式的本质和应用场景,还能深入理解Qt4框架的强大功能。结合两者,能够提高代码质量,降低维护成本,同时实现高效且可靠的跨平台应用...
通过学习和掌握GoF的23种设计模式,可以显著提高程序员的编码水平,使得开发出的软件系统更加健壮、可扩展、易维护。以上每种模式都有其特定的应用场景,理解和掌握它们的关键在于不断实践和总结,在实际项目中灵活...
设计模式的学习过程通常分为四个阶段:学习、表达、教授、记录。每个阶段都需要不同的技能和深度的理解。 #### 0.2 设计模式解析后记 在完成所有设计模式的学习和解析之后,开发者会发现自己已经进入了一个新的...
总结来说,设计模式是软件开发中的重要工具,通过学习和运用不同的设计模式和设计原则,可以帮助开发者更好地解决编程中的各种问题,提升代码质量和团队协作效率。在Java开发中,正确理解和应用这些模式和原则,对于...
### 设计模式精解—GoF 23种设计模式解析及C++实现源码 #### 0. 引言 设计模式作为一种重要的面向对象设计工具,在软件...设计模式的学习是一个渐进的过程,随着经验的积累,我们将越来越能体会到它们的价值所在。
《设计模式精解-GoF 23种设计模式解析c++.pdf》这份资料深入剖析了GoF(Gang of Four)所提出的23种设计模式,并提供了C++语言的具体实现,为读者提供了理论与实践相结合的学习路径。下面,我们将详细解读这份资料...
设计模式是软件工程中的一种最佳实践,它是在特定上下文中解决常见问题的模板。这个压缩包文件名为"26种...通过深入学习和实践这些设计模式,开发者可以进一步提升自己的编程技能,更好地应对各种复杂的软件设计挑战。
这份PPT涵盖了设计模式的全貌,对于初学者来说,是一个很好的学习资源。通过深入学习这些模式,开发者可以更好地理解和应用面向对象设计原则,提升代码质量和可维护性。同时,理解并熟练运用设计模式,也是成为一名...
这篇名为"JAVA设计模式---100%推荐"的资源,可能是对Java设计模式的深入解析,旨在帮助开发者更好地理解和应用这些模式。 设计模式通常分为三类:创建型、结构型和行为型。创建型模式涉及对象的实例化过程,如单例...
学习设计模式的过程可能会让人感到痛苦,尤其是在初读GoF的经典著作《设计模式:可复用面向对象软件的基础》时,面对大量抽象的概念和术语可能会感到困惑。然而,随着实践经验的积累,你会发现设计模式的强大之处,...
设计模式的学习和运用对软件系统开发有着非常重要的意义,它可以帮助开发者更好地解决设计问题,降低设计成本和风险,提高系统的可维护性和可扩展性。 学习设计模式的重要性可以从以下几个方面来体现: 首先,学习...