前言
适配器模式是作为两个不兼容的接口之间的桥梁,这种类型的设计模式数据结构型模式。他结合了两个独立接口的功能。也就是说适配器让原本由于接口不兼容而不能在一起工作的那些类可以一起工作了。
模式应用(多功能手机充电器)
手机现在的充电器也分为三种,具代表性的,华为手机充电器、苹果手机,安卓手机,三种手机的充电器是不同的,安卓的还比较普遍,但是华为和苹果如果在某一个时候突然没有电了,但是又赶上当时周围人使用的都是安卓手机就有点尴尬了。所以,不知道什么时候,有人研发出了三个头的充电器,可以实现安卓,苹果和华为手机同时充电。
实例解析
Target(客户所其他的接口,目标可以说是具体的或抽象的类,也可以是接口)
这里也就是客户希望充电这个接口
Adaptee(需要适配的类,也就是特殊的类)
Adapter类(内不包装一个Adaptee 对象,吧原接口转换成目标接口)
此处指将安卓充电器转换为其他的充电器
客户端代码
优缺点:
优点:增加了类的复用性,在不修改原代码的基础上来复用现有类,符合 “开闭原则”
缺点:使得重定义Adaptee的行为较困难,这就需要生成Adaptee的子类并且使得Adapter引用这个子类而不是引用Adaptee本身。
适用环境:(1)系统存在现有的类,但不符合标准,通过适配器进行复用。
(2)建一个重复适用的类,用于一些配词关联不大的一些类,包括在将来引进的的类一起工作
注意事项:适配器不是在详细设计时添加的,而是解决正在服役的项目的问题。