定义:在不改变原有类文件和使用继承的情况下动态的扩展一个对象的功能。

实现方式:通过创建一个包装对象,也就是装饰来包裹真实的对象。

适用场景

  1. 需要扩展一个类的功能,或者给一个类添加附加职责(扩展功能);
  2. 需要动态的给一个对象添加功能,这些功能可以再动态的撤销(动态增减);
  3. 需要增加由基本功能排列组合而产生的非常大量的功能,通过单纯的继承方式实现变得不现实(排列组合);
  4. 当不能采用生产子类的方式进行扩展时。
    (1).有大量的独立扩展,为支持每一种组合会产生大量的子类,使子类的数量呈爆炸性增长。
    (2).类定义被隐藏,或者类定义不能用于生成子类。

类图
设计模式之一:装饰者模式

相关文章:

  • 2022-01-09
  • 2021-09-24
  • 2021-09-24
  • 2018-11-03
  • 2021-12-29
  • 2021-10-05
  • 2021-09-24
  • 2020-11-18
猜你喜欢
  • 2021-09-24
  • 2021-08-14
  • 2021-10-29
相关资源
相似解决方案