最近樓主找工作期間,除了幫忙帶孩子也的確閒的蛋疼,順便看了下設計模式與架構這個pdf文檔,感覺寫的還挺好
貼近生活,順便記錄方便以後查閱。一、選擇 二、堅持 三、信心
1.接口型模式
適配器模式(適配器模式把一個類的接口變換成客戶端所期待的另一種接口,從而使原本接口不匹配而無法在一起工作的兩個類能夠在一起工作。)
for example: 類1:虎 類2:鳥
繼承一個虎,然後用適配器模式把鳥的翅膀成員拿過來,成爲一個有翅膀的虎類,故成"如虎添翼",這就體現出了適配器的作用
1.定義一個接口
public interface IAdapter{ //適配器接口
String Drive();
}
2.定義適配器類Adapter,實現IAdapter接口。
public class Adapter implements IAdapter{ //適配器類
public String Drive(){
return "變壓器";
}
}
3.定義改變適配器類,該類主要實現將變壓器的電壓從110V改變爲220V
public class ChangeAdapter{
public String Web(String str){
return str;
}
}
4.定義輸出電壓爲110V的變壓器類
public class CClass extends ChangeAdapter implements IAdapter{ //實現類適配器
public String Drive(){
return this.Web("輸出電壓:110V");
}
}
5.定義輸出電壓爲220V的變壓器類
public class CObject implements IAdapter{ //實現對象適配器
private ChangeAdapter changeAdapter;
public CObject(){
changeAdapter=new ChangeAdapter();
}
public String Drive(){
return changeAdapter.Web("輸出電壓:220V");
}
}
6.在測試類中使用變壓器將110V的電壓變爲220V
public class Program{
public static void main(String[] args){
IAdapter dap=new Adapter();
System.out.println(dap.Drive());
dap=new CClass(); //調用第一個適配器
System.out.println(dap.Drive());
dap=new CObject(); //調用第二個適配器
System.out.println(dap.Drive());
}
}
祕籍心法:
1.目標接口可以省略,它可以使Adapterbu不必實現不需要的方法,其表現形式就是父類實現默認方法,而子類只需實現自己獨特的方法。
2.適配器類可以是抽象類。
3.帶參數的適配器模式。使用這種方法,適配器類可以根據參數返回一個合適的實例給客戶端。