美文网首页我爱编程
适配器模式-Adapter Pattern

适配器模式-Adapter Pattern

作者: shen33 | 来源:发表于2018-07-26 13:08 被阅读25次

目的

将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。

案例

public interface Target {
    void request();
}
public class Adapter implements Target{
    private Adaptee adaptee;
    public Adapter(Adaptee adaptee) {
        this.adaptee = adaptee;
    }
    @Override
    public void request() {
        adaptee.specificRequest();
    }
}
public class Adaptee {
    public void specificRequest(){
        System.out.println("Adaptee");
    }
}
public class App {
    public static void main(String[] args) {
        Adapter adapter = new Adapter(new Adaptee());
        adapter.request(); 
    }
}

总结

好处

(1) 将目标类和适配者类解耦,通过引入一个适配器类来重用现有的适配者类,无须修改原有结构。
(2) 增加了类的透明性和复用性,将具体的业务实现过程封装在适配者类中,对于客户端类而言是透明的,而且提高了适配者的复用性,同一个适配者类可以在多个不同的系统中复用。
(3) 灵活性和扩展性都非常好,通过使用配置文件,可以很方便地更换适配器,也可以在不修改原有代码的基础上增加新的适配器类,完全符合“开闭原则”。

典型用例

  • SringMVC 中的HandlerAdapter

JDK示例

相关文章

网友评论

    本文标题:适配器模式-Adapter Pattern

    本文链接:https://www.haomeiwen.com/subject/fbsjmftx.html