一、适配器模式
将一个类的接口,转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以合作无间
适配器模式属于一种结构性模式,分为两种适配器:对象适配器和类适配器
对象适配器类图:
- Client:只能看到Target接口,调用 request() 方法
- Target:目标接口
package Adapter;
public interface Target {
public void request();
}
- Adaptee:所有的请求都委托给被适配者
package Adapter;
public class Adaptee {
public void specificRequest() {
System.out.println("specificRequest");
}
}
- Adapter:对象适配器
package Adapter;
public class Adapter implements Target {
Adaptee adaptee;
public Adapter(Adaptee adaptee) {
this.adaptee = adaptee;
}
@Override
public void request() {
adaptee.specificRequest();
}
}
类适配器类图 (Target 和 Adaptee的代码和上面一样)
- Adapter:类适配器
实际应用场景:
用户需求:客户是标准的交流电插头,想要充电,发现家里的插座只有欧洲壁式插座
需求分析:
- 开发适配器新增代码,不修改插座代码,不修改插头代码
- 客户不感知其它的接口,只关心目标接口是否可用
- 适配器实现了目标