一、适配器模式定义
通过适配器将不能相互工作的两个对象组合起来,比如笔记本需要通过适配器才能连接交流电源上。
二、适配器模式的特点
1、存在的角色
适配者:提供功能的对象或者接口
适配器:转换适配者对象,可以通过继承或者引用适配者包含适配者的功能
目标对象:提供服务的对象,使用适配器的地方
适配者提供交流电
适配器提供直流电,需要先通过适配者得到交流电,然后转化为直流电
public class TestAdapter {
public static void main(String[] args) {
TargetIn targetIn = new Adapter(new Adaptee());
targetIn.dc();
}
}
interface TargetIn {
void dc();
}
class Adaptee {
public void ac() {
System.out.println("输出交流电");
}
}
class Adapter implements TargetIn {
private Adaptee adaptee;
public Adapter(Adaptee adaptee) {
this.adaptee = adaptee;
}
@Override
public void dc() {
adaptee.ac();
System.out.println("交流电变直流电");
System.out.println("输出直流电");
}
}
三、适用场景
以前开发的系统存在满足新系统功能需求的类,但其接口同新系统的接口不一致。
使用第三方提供的组件,但组件接口定义和自己要求的接口定义不同。