一、概念
1.1、定义
- 定义:适配器模式把一个「原有类」的接口 变换 成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。
- Adaptee,原有类:系统中原来已经存在的类
- TargetInterface,目标接口:用户希望得到的新的功能接口类
- Adapter ,适配类:核心类,主要用来将系统现有接口Adaptee进行 包装转化为 客户希望TargetInterface接口类的方法,以便满足客户需求
1.2、解决的问题
问题分析:在现有的软件系统中,常常要将一些 "现存的对象或对象" 放到新的环境中,而新环境要求的接口是现对象不能满足的情况。
模式的解决思路:专门设计一个Adapter适配器类,专门处理旧接口转化为新接口的过程。
1.3、适配器分类:
- 对象适配器,如上图,Adapter通过关联Adaptee进行适配,推荐
- 类适配器,Adapter是通过继承于Adaptee进行适配,不推荐
二、模式的应用和优缺点
2.1、应用场景
- 应用
电源适配器、JAVA 中JDBC、软件新旧版本的接口兼容等
2.2、优缺点
- 优点
兼容新旧版本接口、代码复用、增加灵活度 - 缺点
过多地使用适配器,会让系统非常零乱,不易整体进行把握
三、思而后行
- 往往是对现有系统旧问题的临时解决方案。