适配器模式:
将一个类的接口,转化成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。
适配器模式的结构:
适配器模式一般有三个部分:目标类/接口、被适配的对象、适配器类。
示例代码:
目标接口:
public interface Target {
public void request();
}
被适配的对象:
public class Adaptee {
public void specificRequest(){
//业务代码
}
}
适配器类:
public class Adapter implements Target{
//持有需要被适配的接口对象
private Adaptee adaptee;
//构造器
public Adapter(Adaptee adaptee){
this.adaptee = adaptee;
}
//实现接口方法,它调用被适配对象的方法
public void request() {
adaptee.specificRequest();
}
}
像上面这样,Adaptee类就可以适配成Target接口,在需要Target接口的地方可以使用Adater(被适配的Adaptee)。
适配器可以有类适配器和对象适配器两种实现。但Java无法实现类适配器因为类适配器需要多继承。