Skip to content

Latest commit

 

History

History
33 lines (22 loc) · 760 Bytes

File metadata and controls

33 lines (22 loc) · 760 Bytes

装饰器模式 (Decorator Pattern)

定义

动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活。

类图

// 类图内容

适用场景

  • 需要扩展一个类的功能,或给一个类增加附加功能
  • 需要动态地给一个对象增加功能,这些功能可以再动态地撤销
  • 需要为一批的兄弟类进行改装或加装功能

优缺点

优点

  • 装饰类和被装饰类可以独立发展,不会相互耦合
  • 装饰模式是继承的一个替代模式
  • 装饰模式可以动态地扩展一个实现类的功能

缺点

  • 多层装饰比较复杂,会增加调试和维护的难度

代码实现

// 示例代码