設計模式之適配器模式

適配器分爲兩種,一種是對象適配器,另一種是類適配器,由於對象適配器使用的是組合,而類適配器使用的是繼承的方式來實現兩個類之間的轉換的。所以根據設計模式的代碼設計原則,這裏只說下對象適配器,需要的元素如下:

1.目標(Target):客戶所期待的接口,目標可以使具體的或者抽象的類,也可以是接口。

2.適配器(Adapter):通過包裝一個需要適配的對象,把原接口轉換成目標接口。

3.被適配者(Adaptee).

UML圖如下:

代碼如下:
public interface Target {
    /**
     * 這是源類Adaptee也有的方法
     */
    public void sampleOperation1(); 
    /**
     * 這是源類Adapteee沒有的方法
     */
    public void sampleOperation2(); 
}

public class Adaptee {

    public void sampleOperation1(){}
    
}

public class Adapter {
    private Adaptee adaptee;
    
    public Adapter(Adaptee adaptee){
        this.adaptee = adaptee;
    }
    /**
     * 源類Adaptee有方法sampleOperation1
     * 因此適配器類直接委派即可
     */
    public void sampleOperation1(){
        this.adaptee.sampleOperation1();
    }
    /**
     * 源類Adaptee沒有方法sampleOperation2
     * 因此由適配器類需要補充此方法
     */
    public void sampleOperation2(){
        throw unSupportedOperationException();
    }
}


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