設計模式

最近樓主找工作期間,除了幫忙帶孩子也的確閒的蛋疼,順便看了下設計模式與架構這個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.帶參數的適配器模式。使用這種方法,適配器類可以根據參數返回一個合適的實例給客戶端。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章