简单通俗设计模式之适配器模式

经常遇到在处理一个类的时候(以参数方式传入),另一个完全没有继承关系的类无法适应到该方法统一处理,这个时候就可以考虑使用适配器模式了。适配器模式顾名思义就是讲一个无法被处理的类,通过适配成为一个可以被处理的类。如下例子

//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()));
    }
}

 

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