知识卡片

装饰模式的三点优点

普通读书笔记卡 · 1989.a.2

内容

[[装饰模式的定义与四个角色]]带来三点收益:装饰类与被装饰类独立发展互不耦合;是继承的 替代方案(叠加多少层返回类型始终是Component);能动态扩展功能(运行期通过组合叠加而非 编译期继承固定)。发散:这三点本质是”用组合代替继承”的体现——继承在编译期锁死能力边界, 组合把决策推迟到运行期,代价是需要额外委托样板代码。

参考来源

- 位置:《设计模式之禅(第2版)》第17章《装饰模式》(源文件:_epub-src/text/part0078.html) - 结论依据:原文分三点列出装饰模式的优点:装饰类和被装饰类可以独立发展而不相互耦合、装饰模式是继承关系的替代方案(不管装饰多少层返回的对象还是Component,实现is-a关系)、可以动态地扩展一个实现类的功能。 - 原始内容:装饰类和被装饰类可以独立发展,而不会相互耦合……装饰模式是继承关系的一个替代方案。我们看装饰类Decorator,不管装饰多少层,返回的对象还是Component,实现的还是is-a的关系……装饰模式可以动态地扩展一个实现类的功能。