【发布时间】:2011-06-18 02:19:56
【问题描述】:
我可以通过添加子类来解决添加功能的问题,那么为什么要使用装饰器模式,装饰器模式的真正优势是什么?
【问题讨论】:
-
您可以在here 中看到关于这两种模式的示例,解决了GoF book 中的相同问题(关于
TextView)。 -
只需加上我的 2 美分:阅读下面的答案时,您可以记住,装饰器 DP 可以简化子类的管理。您可以单独使用它们,在它们之间创建不同的组合,等等。所有这些都在一个类中:Decorator 类。看一下这个 DP 的 UML 图。例如:cdn.journaldev.com/wp-content/uploads/2013/07/…
-
为回答这个问题而写的一篇文章:dzone.com/articles/is-inheritance-dead
-
我喜欢将其分解如下:如果您需要多态行为,则使用对象继承。如果是为了提供附加功能,那么装饰器模式更适合