設計模式之適配器模式--慕課網筆記

第1章 適配器模式簡介
1-1 什麼是適配器模式

生活中的例子
插座適配器

定義:適配器模式將一個類的接口,轉換成客戶期望的另外一個接口,
使得原本由於接口不兼容而不能一起工作的那些可以在一起工作。

Client->Target<-Adapter->Adaptee
Target:目標接口
Adapter:適配器
Adaptee:被適配類

第2章 適配器模式的實現
2-1 使用組合的方式實現插座適配器
/*
 * 三相插座接口
 */
public interface ThreePlugIf {

    //使用三相電流供電
    public void powerWithThree();
}
public class GBTwoPlug {

    //使用二相電流供電
    public void powerWithTwo(){
        System.out.println("使用二相電流供電");
    }
}
/*
 * 二相轉三相的插座適配器
 */

public class TwoPlugAdapter implements ThreePlugIf {

    private GBTwoPlug plug;

    public TwoPlugAdapter(GBTwoPlug plug){
        this.plug = plug;
    }
    @Override
    public void powerWithThree() {
        System.out.println("通過轉化");
        plug.powerWithTwo();

    }

}
public class NoteBook {

    private ThreePlugIf  plug;

    public NoteBook(ThreePlugIf plug){
        this.plug = plug;
    }

    //使用插座充電
    public void charge(){
        plug.powerWithThree();
    }

    public static void main(String[] args) {
        GBTwoPlug two =  new GBTwoPlug();
        ThreePlugIf three = new TwoPlugAdapter(two);
        NoteBook nb = new NoteBook(three);
        nb.charge();

    }

}
2-2 使用繼承的方式實現插座適配器

插座適配器分析:把“被適配者”作爲一個對象組合到設配器類中,以修改目標接口包裝被適配者

  • 組合
    • 採用組合方式的適配器成爲對象的適配器
      特點:把“被適配者”作爲一個對象組合到適配器類中,以修改目標接口包裝被適配者
  • 繼承(Java是單繼承的)
    • 採用繼承方式的稱爲類適配器
      特點:通過多重繼承不兼容接口,實現對目標接口的匹配,單一的爲某個類而實現適配
/*
 * 採用繼承方式的插座適配器
 */
public class TwoPlugAdapterExtends extends GBTwoPlug implements ThreePlugIf {

    @Override
    public void powerWithThree() {
        System.out.print("藉助繼承適配器");
        this.powerWithTwo();

    }

}
public class NoteBook {

    private ThreePlugIf  plug;

    public NoteBook(ThreePlugIf plug){
        this.plug = plug;
    }

    //使用插座充電
    public void charge(){
        plug.powerWithThree();
    }

    public static void main(String[] args) {
        GBTwoPlug two =  new GBTwoPlug();
        ThreePlugIf three = new TwoPlugAdapter(two);
        NoteBook nb = new NoteBook(three);
        nb.charge();


        three = new TwoPlugAdapterExtends();
        nb = new NoteBook(three);
        nb.charge();

    }

}

類適配器模式通過多重繼承不兼容接口,實現對目標接口的匹配,單一的爲某個類而實現適配的這樣一種模式

第3章 適配器模式總結
3-1 適配器模式的總結

作用

  • 透明
    通過適配器,客戶端可以調用同一接口,因而對客戶端來說是透明的。這樣做更簡單、更直接、更緊湊。
  • 重用
    複用了現存的類,解決了現存類和複用環境要求不一致的問題。
  • 低耦合
    將目標類和適配者類解耦,通過引入一個適配器類重用現有的適配者
    類,而不需修改原有代碼(遵循開閉原則)

《模式的祕密—適配器模式》視頻地址

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