[Design] Adapter Pattern

结构模式 

  结构模式描述如何将类或者类的对象结合在一起形成更大的结构。

  结构模式描述两种不同的东西:类与类的实例。结构模式可以分为:类的结构模式和对象的结构模式两种。

  类的结构模式:类的结构模式使用继承来把类、接口等组合在一起,以形成更大的结构。类的结构模式是静态的,比如类形式的适配器模式。

  对象的结构模式:对象的结构模式描述怎么样把不同类型的对象组合在一起,以实现新的功能的方法。对象的结构模式是动态的。比如代理人模式。

 
1.  适配器模式

  适配器模式(Adapter Pattern)把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够一起工作。

用意是将接口不同而功能相同或者相近的两个接口加以转化。

适配器模式有类的适配器模式和对象的适配器。

类的适配器模式
  类的适配器模式是使用继承关系把被适配类的API 转化成目标类的API,适配模式是静态的。
结构图及角色:


1. 目标角色
  所期待得到的接口。注意类的适配器模式,目标不可以是类。

2.  源角色
  现在需要适配的接口。

3. 适配器角色
  此角色是模式的核心。适配器角色把源接口转换成目标接口。显然这一角色不可以是接口,而必须是具体类。

对象的适配器模式
  与类的适配器模式不同,对象的适配器模式不是使用继承关系连接到目标,而是使用委派关系。这决定这个适配器模式是对象的。
结构图及角色:


1.  目标角色
  所期待的角色,目标可以是具体的或抽象的类。
2. 源角色
  现有需要适配的接口。
3. 适配器角色
  本模式的核心。把源接口转换成目标接口,显然必须是具体类。

原文地址:https://www.cnblogs.com/abeen/p/1437593.html