【发布时间】:2014-06-12 17:45:12
【问题描述】:
我最近开始研究装饰器设计模式,但我有一个疑问。装饰器实现了与它们试图装饰的组件相同的接口。这不违反 is-a 关系。 而且既然装饰器有组件(通过组合),为什么装饰器真的需要实现与具体组件相同的组件接口呢?
浏览Headfirst上的装饰器设计模式,感觉装饰器可以直接实现组件。装饰器不需要抽象类/接口。
我担心这可能真的是一个愚蠢的问题,但帮助会让我有一个坚实的基础。
【问题讨论】:
-
投反对票的能解释一下吗?
-
属于programmers.stackexchange.com
-
完全实用。作为一名软件工程师,我每天都必须应用像装饰器这样的模式。我喜欢了解为什么它比替代品更有价值。
-
@Alex:你到底在说什么?当然可以解释模式。并且可以回答有关它们的问题。这些问题可能涉及理论,而模式体现了设计原则。
-
@Alex:单例是一种设计模式,其中程序强制只创建一个类的一个实例。 你是说我不只是解释单例,或者说单例不是设计模式?