装饰模式-23种设计模式

类型:【结构型】

类图:待重载

 

装饰模式-23种设计模式

特点:

优点:

  • 装饰类和被装饰类可以独立发展,而不会相互耦合。换句话说,Component类无需知道Decorator类,Decorator类是从外部来拓展Component类的功能,而Decorator也不用知道具体的构件。
  • 装饰模式是继承关系的一种代替方式。我们看装饰类Decorator,不管装饰多少层,返回的对象还是Component,依然还是is-a的关系。
  • 装饰模式可以动态地拓展一个实现类的功能。

缺点:

  • 多层的装饰复杂度较高,不便于debug。因此,尽量地减少装饰类的层数,以便于降低系统的复杂度。

使用场景:

  • 需要拓展一个类的功能,或给一个类增加附加功能。
  • 需要动态地给一个对象增加功能,这些功能可以动态地撤销。
  • 需要为一批的兄弟类进行改装或附加功能,当然首选装饰模式。
上一篇:python – scala:具有可变长度参数的Function对象的trait?


下一篇:python – 烧瓶中的自定义装饰器不工作?