24种设计模式学习笔记之装饰者模式

装饰模式(Decorator)--结构型设计模式

  是指在不改变原对象的基础之上,将功能附加到对象上,提供了比继承更灵活性的替代方案(扩展原有对象的功能),装饰者模式属于结构型模式。

 应用场景

1、用于扩展一个类的功能或给一个类添加附加职责。
2、动态的给一个对象添加功能,这些功能可以再动态的撤销。

 

 

测试代码

 

 

 

 

优点:
  • 装饰者比继承灵活,可以在不改变原有对象的情况下动态地给一个对象扩展功能,即插即用非常方便
  • 通过不同的装饰器组合,可是实现不同效果
  • 装饰者完全遵守开闭原则。
缺点:
  • 会增加程序复杂性,会增加更多的类
  • 动态装饰时,操作多层装饰复杂

 

posted @ 2020-02-25 15:19  小羊小恩  阅读(136)  评论(0)    收藏  举报