Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我知道这两种设计模式,以及如何实现它们(适配器的对象和类实现),但我看不出何时使用它们的明确区别。
例如,在 AS3 中,如果我想包装一个 MovieClip 类并向其添加按钮功能,我应该使用适配器还是装饰器设计模式?
在这两种模式的实现中,新对象通常“包装”原始对象,因此混淆它们是完全可以理解的。
但它们有很多不同的目的。
在适配器模式中,您在原始对象中具有正确的功能,但需要使用不同的接口。
在装饰器模式中,既要使用原有的界面,又要添加功能。
在您将 Button 功能添加到 a 的示例中MovieClip,您想要的可能是装饰器。
MovieClip