java与模式 装饰模式 decorator
2009-03-20 16:59
375 查看
装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。
装饰模式应该在以下情况下使用:
需要扩展一个类的功能,或给一个类增加附加责任。
需要动态地给一个对象增加功能,这些功能可以再动态地撤销。
需要增加由一些基本功能的排列组合而产生的非常大量的功能,从而使继承关系变的不现实。
如图:
应用代码如下:
Component c = new ConcreteComponent();
Component d = new ConcreteDecorator(c);
d.operation();
使用装饰模式与继承关系的目的都是要扩展对象的功能,但是装饰模式可以提供比继承更多的灵活性,允许系统动态地决定贴上一个需要的"装饰",或者除掉一个不需要的"装饰".
装饰模式应该在以下情况下使用:
需要扩展一个类的功能,或给一个类增加附加责任。
需要动态地给一个对象增加功能,这些功能可以再动态地撤销。
需要增加由一些基本功能的排列组合而产生的非常大量的功能,从而使继承关系变的不现实。
如图:
应用代码如下:
Component c = new ConcreteComponent();
Component d = new ConcreteDecorator(c);
d.operation();
使用装饰模式与继承关系的目的都是要扩展对象的功能,但是装饰模式可以提供比继承更多的灵活性,允许系统动态地决定贴上一个需要的"装饰",或者除掉一个不需要的"装饰".
相关文章推荐
- JAVA设计模式(11):结构型-装饰模式(Decorator)
- [2014-11-17]Java笔记_装饰模式(Decorator)
- java设计模式--装饰模式(Decorator)
- java设计模式之装饰器模式(Decorator)
- JAVA--装饰模式(Decorator)--设计模式七
- Java与模式:装饰(Decorator)模式
- Java设计模式----装饰模式(Decorator)
- Java装饰模式(Decorator)—结构型
- 详解java装饰模式(Decorator Pattern)
- JAVA设计模式之 装饰模式【Decorator Pattern】
- Java开发中的23种设计模式详解----装饰模式(Decorator)
- 读书笔记_java设计模式深入研究 第十一章 装饰器模式 Decorator
- Java设计模式---装饰模式(Decorator)
- java 装饰模式(Decorator Pattern)详解
- JAVA设计模式(11):结构型-装饰模式(Decorator)
- Java设计模式十九:装饰模式(Decorator Pattern)
- Java 实现装饰(Decorator)模式
- Java 装饰模式 (Decorator)
- java设计模式:装饰器模式[Decorator]
- Java设计模式-----Decorator装饰模式