设计模式之适配器模式

适配器模式是将一个类的接口,转换成客户期望的另一个接口,使得原来因为接口不兼容的类能够在一起工作。

它由下面四个组件构成:

  • 客户端Client
  • 目标接口Target
  • 被适配者Adaptee
  • 适配器Adapter

通常情况下,将被适配者的类作为对象组合在适配器Adapter类中,同时,适配器Adapter类实现了目标接口Target,完成修改目标接口,包装被适配者。

适配器分类:

对象适配器:

采用组合方式的适配器称为对象适配器。把被适配者作为一个对象组合到适配器类中,以修改目标接口包装被适配者。

设计模式之适配器模式

类适配器:

采用继承方式的适配器称为类适配器。通过多重继承不兼容接口,实现对目标接口的匹配,单一的为某个类实现适配。代码可重用性低。

设计模式之适配器模式

当然,适配器模式也有变体,例如下面的例子:

用一个抽象的适配器类来实现目标类的接口,具体的适配器继承了该抽象适配器。有两个具体的类impl1和impl2实现了被适配者的接口。这样具体的适配器就能适配者两个类了。

设计模式之适配器模式

适配器的作用

透明

通过适配器,客户端可以调用同一接口,因而对客户端是透明的,这样更加的简单透明,直接。

代码重用

复用的现存的类,解决了现存类与复用环境要求不一致的问题。

低耦合

将目标类与被适配者类解耦,通过引入一个适配器类重用现存的一个被适配者类,无需修改原来的代码。

你可能感兴趣的:(适配器模式)