一.定义
将一个类的接口变成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。
二.类图
2.1 类适配器
- Target目标角色:其他类的转换目标,一般是已经在生产环境运行的接口或者抽象类。
- Source源角色
- Adapter适配器角色:通过继承或是类关联的手段将源角色转换为目标角色。
2.2 对象适配器
对象适配器把原来的继承关系变更为了关联关系。
三.优点
- 适配器模式可以让两个没有关系的类在一起运行,提高了类的复用度。
- 灵活性非常好。适配器可以随时删除,不影响正在运行的实例。
四.使用场景
当你有动机修改一个已经投产的接口时,适配器模式可能是最合适你的模式。
五.注意事项
- 适配器模式主要适用于项目维护阶段,不适用于项目开发阶段。
- 类适配器是类间继承,对象适配器是对象的合成关系,也可以说是类的关联关系。
- 适配器模式是一个补偿模式,或者说是“补救”模式,通常用来解决接口不相容的问题,在比较完美的设计中是不可能使用到的。