设计模式5:装饰者模式
2013-10-06 08:57
239 查看
装饰者模式: 动态地给一个对象添加一些额外的职责或者行为。就增加功能来说, Decorator模式相比生成子类更为灵活。
装饰者模式提供了改变子类的灵活方案。装饰器模式在不必改变原类文件和使用继承的情况下,动态的扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。
装饰者模式和其他模式的区别于联系:
1)Adapter 模式:Decorator模式不同于Adapter模式,因为装饰仅改变对象的职责而
不改变它的接口;而适配器将给对象一个全新的接口。
2)Composite模式:可以将装饰视为一个退化的、仅有一个组件的组
合。然而,装饰仅给对象添加一些额外的职责—它的目的不在于对象聚集。
3)Strategy模式:用一个装饰你可以改变对象的外表;而Strategy模
式使得你可以改变对象的内核。这是改变对象的两种途径。
真实的世界的装饰者模式:Java I/O
装饰者模式提供了改变子类的灵活方案。装饰器模式在不必改变原类文件和使用继承的情况下,动态的扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。
装饰者模式和其他模式的区别于联系:
1)Adapter 模式:Decorator模式不同于Adapter模式,因为装饰仅改变对象的职责而
不改变它的接口;而适配器将给对象一个全新的接口。
2)Composite模式:可以将装饰视为一个退化的、仅有一个组件的组
合。然而,装饰仅给对象添加一些额外的职责—它的目的不在于对象聚集。
3)Strategy模式:用一个装饰你可以改变对象的外表;而Strategy模
式使得你可以改变对象的内核。这是改变对象的两种途径。
真实的世界的装饰者模式:Java I/O
相关文章推荐
- 【js设计模式笔记---装饰者模式】
- 学习head first 设计模式之装饰者模式
- Java设计模式菜鸟系列(三)装饰者模式建模与实现
- javaScript设计模式之装饰者模式
- 《Head First 设计模式》之装饰者模式
- 设计模式(14)---->装饰者模式
- Java设计模式之装饰者模式
- 装饰者设计模式 -C#
- js原生设计模式——12装饰者模式
- 设计模式--装饰者模式
- 设计模式--装饰者模式
- C++设计模式之装饰者模式
- Android与设计模式——装饰者(Decorator)模式
- 深入理解JavaScript系列(29):设计模式之装饰者模式
- 设计模式-装饰者模式
- 《head first 设计模式》day three 装饰者模式
- 设计模式 - 装饰者模式(Decorator Pattern) Java的IO类 使用方法
- JDK设计模式之——装饰者模式
- Java设计模式——装饰者模式
- 设计模式之间区别 (2) 装饰者模式和继承