3

我正在阅读设计模式,有一个问题我觉得我自己无法回答。Adapter、Bridge 和 Decorator 在结构上是不同的,还是它们编码相同但只是应用了不同的语义?

4

1 回答 1

11

在结构上,模式非常相似。很多不同之处在于模式的意图,而不是它们的构建方式。

适配器模式用于使具有一个接口的类适应另一个接口的类。通常,您正在适应的类是遗留代码或在您无法访问(或至少无法更改)的库中。与适配器的一个关键区别是您正在适应的接口和您提供的接口是不同的。

桥接模式与适配器非常相似,因为它可以将具有一个接口的类桥接到另一个接口的类。但是,关键的区别是intent。使用桥接模式,该类被明确设计为以这种方式工作。开发人员仍然可以访问被委派的类,但开发人员有意选择以这种方式设计它。

装饰器模式将返回与被装饰的类相同的接口。它用于扩展现有类的行为,而不是更改其接口。

于 2011-12-08T01:29:32.820 回答