设计原则: 类应该对扩张开发,对修改关闭。


定义: 动态的将责任附加到对象上。

若要扩展功能,装饰者提供了比继承更有弹性的替代方案。


别名: Wrapper


注意点:装饰者在所委托被装饰者的行为之前或之后,加上自己的行为,以达到特定的目的。


类图:


例子: starbuzz中咖啡和饮料的使用。


缺点: 可能会造成很多小类。

更多推荐