1

我知道这两种设计模式,以及如何实现它们(适配器的对象和类实现),但我看不出何时使用它们的明确区别。

例如,在 AS3 中,如果我想包装一个 MovieClip 类并向其添加按钮功能,我应该使用适配器还是装饰器设计模式?

4

1 回答 1

1

在这两种模式的实现中,新对象通常“包装”原始对象,因此混淆它们是完全可以理解的。

但它们有很多不同的目的。

在适配器模式中,您在原始对象中具有正确的功能,但需要使用不同的接口。

在装饰器模式中,既要使用原有的界面,又要添加功能。

在您将 Button 功能添加到 a 的示例中MovieClip,您想要的可能是装饰器。

于 2013-10-01T11:35:09.097 回答