1:什么是适配器模式
当客户需要一个A,可是厂家1没有A只有C,厂家2没有A只有D。这时候就需要一个适配的角色,将C、D客户需要的A。
2:角色
目标角色:就是客户需要的A
适配角色:就是厂家1的C,厂家2的D
适配器角色:就是将C、D转换成A
3:具体的代码
adapter接口:客户需要的A
adpater1类:厂家的medC、medD
adapter实现类:适配器的角色,将厂家的medC、D装换成客户需要的A
adapter接口:public interface Adapter {
public String medA1();
public String medA2();
}
adpater1类public class Adapter1 {
public String medB(){
return "medB";
}
public String medC(){
return "medC";
}
}
adapter实现类public class Adpater1Impl implements Adapter {
private final Adapter1 adapter1;
public Adpater1Impl(Adapter1 adapter1) {
this.adapter1 = adapter1;
}
@Override
public String medA1() {
return "将B转换成A1:"+adapter1.medB();
}
@Override
public String medA2() {
return "将C转换成A2:"+adapter1.medC();
}
}
当出现多个厂家的时候,只需要创建多个Adpater2Impl、Adpater3Impl等等的实现类。将需要转换的地方直接转换即可。