定义
- 将一个类的接口,转换成客户期望的另一个接口;
- 使原本接口不兼容的类可以一起工作;
适用场景
- 已经存在的类,它的方法和需求不匹配(方法结果相同或相似);
- 不是软件设计阶段考虑的设计模式,是随着软件维护,由于不同的产品,不同厂家造成功能类似而接口不相同情况下的解决方案;
优点
- 能提高类的透明性和复用,现有的类复用但不需要改变;
- 目标类和适配器解耦,提高程序扩展性;
- 符合开闭原则;
缺点
- 适配器编写过程需要全面考虑,可能会增加系统的复杂性;
- 增加系统代码可读的难度;
扩展
- 对象适配器
- 类适配器
相关设计模式
- 适配器模式(封装原有接口,使两个接口协同工作)& 外观模式(定义了新的接口,外观模式用来适配子系统)