我知道这两个设计模式,以及如何实现它们(Adapter的Object和Class实现),但是我无法看清楚何时使用每个模式。
例如在AS3中,如果我想包装一个MovieClip类并添加一个按钮功能,我应该使用Adapter还是Decorator设计模式吗?
答案 0 :(得分:1)
在两种模式的实现中,新对象通常“包裹”原始对象,因此混淆它们是完全可以理解的。
但他们有不同的目的。
在适配器模式中,您在原始对象中具有正确的功能,但需要使用其他接口。
在Decorator模式中,您希望使用原始界面,还要添加功能。
在将按钮功能添加到MovieClip
的示例中,您可能想要的是装饰器。