如下内容是学习《Head First 设计模式》第三部分《装饰者模式》所得,主要就是一些原文摘抄和少量自己的总结。

装饰者模式定义

装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。

OO 原则

  1. 对扩展开放,对修改关闭。

书中示例的 C++ 实现版源码

这个 Solution 的 DecoratorPattern 工程里

书中示例的类图

Visio 原图见这里:

Decorator Pattern UML Class Diagram