簡單通俗設計模式之適配器模式

經常遇到在處理一個類的時候(以參數方式傳入),另一個完全沒有繼承關係的類無法適應到該方法統一處理,這個時候就可以考慮使用適配器模式了。適配器模式顧名思義就是講一個無法被處理的類,通過適配成爲一個可以被處理的類。如下例子

//Fileter類包含一個打印的處理函數
public class Filter {
    public void process() {
        System.out.println("filter process.");
    }
}

//Adaptor接口也有一個process函數,但是它和Filter沒半毛錢關係
public interface Adaptor {
    void process();
}

//FilterAdaptor適配Adapor,使得它可以被當成Adaptor
//來被處理
public class FilterAdaptor implements Adaptor {
    private Filter filter;

    public FilterAdaptor(Filter filter){
        this.filter = filter;
    }
    @Override
    public void process() {
        filter.process();
    }
}

//MyTestAdaptor的apply方法只能處理Adaptor類型的對象
//但是通過適配器FilterAdaptor的包裝,相當於apply也可
//以處理Filter類型的對象
public class MyTestAdaptor {
    //對Adaptor類進行處理
    public static void apply(Adaptor adaptor){
        adaptor.process();
    }

    public static void main(String[] args) {
        apply(new FilterAdaptor(new Filter()));
    }
}

 

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