适配器模式(Adapter Design Pattern)将一个类的接口,转换成客户期望的另一个接口。

这个模式就是用来做适配用的,它将不兼容的接口转换为可兼容的接口,让本来由于接口不兼容而不能一起工作的类可以一起工作。

对象和类的适配器

适配器模式有两种实现方式:类适配器和对象适配器。类适配器使用继承关系来实现,对象适配器使用组合关系来实现。

Adapter

Adapter

接口不兼容

  • 封装有缺陷的接口设计
  • 统一多个类的接口设计
  • 替换依赖的外部系统
  • 兼容老版本接口
  • 适配不同格式的数据

代理、桥接、装饰器、适配器的区别

代理模式:代理模式在不改变原始类接口的条件下,为原始类定义一个代理类,主要目的是控制访问,而非加强功能,这是它跟装饰器模式最大的不同。

桥接模式:桥接模式的目的是将接口部分和实现部分分离,从而让它们可以较为容易、也相对独立地加以改变。

装饰器模式:装饰者模式在不改变原始类接口的情况下,对原始类功能进行增强,并且支持多个装饰器的嵌套使用。

适配器模式:适配器模式是一种事后的补救策略。适配器提供跟原始类不同的接口,而代理模式、装饰器模式提供的都是跟原始类相同的接口。

参考链接

  • 《Head First 设计模式》