「补课」进行时:设计模式(10)——小明起床记了解装饰模式 (2)

装饰类和被装饰类可以独立发展,而不会相互耦合。换句话说, Component 类无须知道 Decorator 类, Decorator 类是从外部来扩展 Component 类的功能,而 Decorator 也不用知道具体的构件。

3.3 缺点

对于装饰模式记住一点就足够了:多层的装饰是比较复杂的。为什么会复杂呢?想想看,就像剥洋葱一样,至于剥到了最后才发现是最里层的装饰出现了问题,想象一下工作量吧,因此,尽量减少装饰类的数量,以便降低系统的复杂度。

3.3 使用场景

需要扩展一个类的功能,或给一个类增加附加功能。

需要动态地给一个对象增加功能,这些功能可以再动态地撤销。

需要为一批的兄弟类进行改装或加装功能,当然是首选装饰模式。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwddjx.html