设计模式-适配器模式(Adapter)

适配器模式是构造型模式的一种,通过Adapter模式可以改变已有类的接口形式。

角色和职责:

1.目标(Target):

   维护对行为实现(Implementor)的引用

2.源 -Current:

 

3.适配器(Adapter)-Adapter:

 

UML图:

 

具体代码:

/**
 * 当前用电
 */
public class Current {
    public void electro(){
        System.out.println("当前用电220v");
    }
}
/**
 * 适配器
 */
public class Adapter {
    private Current current;
    public Adapter(Current current){
        this.current = current;
    }

    /**
     * 使用适配器转成18v的电压
     */
    public void electroAdapter18(){
        this.current.electro();
        System.out.println("使用适配器,转成电压18v");
    }
}
public class Main {
    public static void main(String[] args) {
        Current current = new Current();//当前电压

        //使用适配器转成18v电压
        Adapter adapter = new Adapter(current);
        adapter.electroAdapter18();
    }
}

结果:

当前用电220v
使用适配器,转成电压18v

 

优缺点:

优:可以在不修改原有代码的基础上复用现有的类,很好的遵守“开闭原则”

缺:针对基本代码,重定义Adaptee的行为比较困难,这就需要生成Adaptee的子类并且使得Adapter引用这个子类而不是Adaptee本身

 

应用场景:

系统需要复用现有类,而该类的接口不符合系统的需求。

 

 

源码地址:https://github.com/qjm201000/design_pattern_adapter.git

 

posted @ 2018-12-05 17:10  qjm201000  阅读(138)  评论(0编辑  收藏  举报