1:什麼是適配器模式ide
當客戶須要一個A,但是廠家1沒有A只有C,廠家2沒有A只有D。這時候就須要一個適配的角色,將C、D客戶須要的A。this
2:角色spa
目標角色:就是客戶須要的Acode
適配角色:就是廠家1的C,廠家2的Dblog
適配器角色:就是將C、D轉換成A接口
3:具體的代碼class
adapter接口:客戶須要的Aim
adpater1類:廠家的medC、medDdi
adapter實現類:適配器的角色,將廠家的medC、D裝換成客戶須要的Aco
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等等的實現類。將須要轉換的地方直接轉換便可。