GoF设计模式桥/适配器/装饰器

The*_*ies 3 design-patterns bridge decorator adapter

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

And*_*rew 10

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

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

模式非常类似于适配器,它可以弥补一类具有一个接口到另一个接口.然而,关键的区别是意图.通过桥接模式,该类明确地设计为以这种方式工作.开发人员仍然可以访问被委派给的类,但开发人员有意选择以这种方式进行设计.

装饰图案将返回被装饰类的相同的接口.它用于扩展现有类的行为,而不是更改其接口.

  • 实际上,关于装饰器模式,重要的是要强调实际上你正在扩展现有**对象**的行为,而不是类.该类中的其他对象将保持不变. (3认同)