- 一、角色
- Target(目标接口):被适配者实现的接口
- Adapter(适配者):实现目标接口的类
- Adaptee(被适配):被适配者使用的类
- 二、适用场景
- 使用一个已经存在的类,而它的接口不符合你的需求
- 创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类协同工作
- 三、实例
- 图-1中的Target是目标接口,M5DataLineAdapter是适配类实现了目标接口,M5DataLineAdapter继承M4DataLine,这里的M4DataLine则为被适配者,M5DataLineAdapter在接口实现方法connection中实际调用被适配者M4DataLine的connection1的方法,其实这里也可以通过组合的方式去使用M4DataLine类中的connection1的方法,根据要尽量使用合成/聚合,尽量不要使用继承的原则,这里的实例使用组合原则更优,也就是图-1中M5DataLineAdapter1类的适配器实现方式
- 代码地址:https://github.com/lanhei/DesignPattern/tree/master/src/com/lanhei/patterns/adapter
图-1