定义
- 定义一个类的接口转化成客户期望的另一个接口 (适配者和目标类),使得原本接口不兼容的类可以一起工作。
- 隶属于结构模式
应用场景
- 已存在的类,它的方法和需求不匹配时(方法结果相同或相似)
- 不同场景、不同厂家造成功能类相似接口不相同的解决方案
优点
- 能提高类的透明性和复用,现有的类复用但不需要改变
- 目标类和适配器类解耦,提高程序的扩展性
- 符合开遍原则
缺点
- 适配器编写的时候需要全面考虑,可能会增加代码复杂性
- 增加系统代码可读难度
适配器模式扩展
- 对象适配器:使用委托机制
- 类适配器:通过类继承
适配器和外观模式
- 两者都是对现有的类进行封装,外观模式定义了新的接口,而适配器模式是复用原有的接口。适配器是使得两个已有的接口协同工作,而外观则是在现有的系统中提供一个访问入口。
