何为装饰模式
定义:动态的给一个对象添加一些额外的职责。就扩展功能来说,装饰模式相比生成子类更为灵活
静态关系图如下
装饰模式的类图何时使用装饰模式
1、想要在不影响其他对象情况下,以动态、透明的方式给单个对象添加职责。
2、想要扩展一个类的行为,却做不到。类定义可能被隐藏,无法进行子类化;或者,对类的每个行为的扩展,为支持每种功能组合,将产生大量的子类
3、对类的职责的扩展是可选的
注:系统Category是基于装饰器模式
注意:Category可能重写了被装饰父类的方法
定义:动态的给一个对象添加一些额外的职责。就扩展功能来说,装饰模式相比生成子类更为灵活
1、想要在不影响其他对象情况下,以动态、透明的方式给单个对象添加职责。
2、想要扩展一个类的行为,却做不到。类定义可能被隐藏,无法进行子类化;或者,对类的每个行为的扩展,为支持每种功能组合,将产生大量的子类
3、对类的职责的扩展是可选的
注:系统Category是基于装饰器模式
注意:Category可能重写了被装饰父类的方法
本文标题:设计模式-装饰模式《十六》
本文链接:https://www.haomeiwen.com/subject/psrcrqtx.html
网友评论