23种设计模式之装饰模式(Decorator)
2017-04-10 15:45
344 查看
装饰模式是一种对象结构型模式,可动态地给一个对象增加一些额外的职责,就增加对象功能来说,装饰模式比生成子类实现更为灵活。通过装饰模式,可以在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责;当需要动态地给一个对象增加功能,这些功能可以再动态地被撤销时可使用装饰模式;当不能采用生成子类的方法进行扩充时也可使用装饰模式。
优点:
1)比静态继承具有更大的灵活性。
2)避免了特征装载的类处于层次结构的过高级别。
3)简化了编码,因为用户编写的每一个类都针对功能的一个特定部分,而不用讲所有的行为编码到对象中。
4)改进了对象的扩展性,因为用户可以通过编写新的类来作出改变。
使用场景:
1)想要在单个对象中动态并且透明地添加责任,而这样并不会影响其他对象。
2)想要在以后可能要修改的对象中添加责任。
3)当无法通过静态子类化实现扩展时。
Decorator 模式
优点:
1)比静态继承具有更大的灵活性。
2)避免了特征装载的类处于层次结构的过高级别。
3)简化了编码,因为用户编写的每一个类都针对功能的一个特定部分,而不用讲所有的行为编码到对象中。
4)改进了对象的扩展性,因为用户可以通过编写新的类来作出改变。
使用场景:
1)想要在单个对象中动态并且透明地添加责任,而这样并不会影响其他对象。
2)想要在以后可能要修改的对象中添加责任。
3)当无法通过静态子类化实现扩展时。
Decorator 模式
相关文章推荐
- Java开发中的23种设计模式详解----装饰模式(Decorator)
- java23种设计模式之装饰模式(Decorator)
- 23种设计模式之装饰模式(Decorator)
- java23种设计模式--装饰模式(decorator)
- 23种设计模式-7.装饰模式(Decorator Pattern)
- Java开发中的23种设计模式之七:装饰模式(Decorator)
- 【Unity与23种设计模式】装饰模式(Decorator)
- 23种设计模式之装饰器模式(结构型,2 Decorator,c++实现)
- java23种常用设计模式之装饰模式(Decorator)
- 【Unity与23种设计模式】装饰模式(Decorator)
- 设计模式之装饰模式篇(Decorator)
- 我读设计模式之装饰模式(Decorator Pattern)
- 解读设计模式----装饰模式(Decorator Pattern)
- DOTA版设计模式——装饰模式[Decorator Pattern]
- [导入]C#面向对象设计模式纵横谈(10):Decorator 装饰模式(结构型模式).zip(9.84 MB)
- 设计模式 --- 装饰模式(Decorator) 精选经验合集
- 设计模式c#描述——装饰(Decorator)模式
- 设计模式学习笔记十五:装饰模式(Decorator Pattern)
- 设计模式--装饰模式(Decorator)
- 结构型设计模式---Decorator模式(装饰模式)