(20)适配器模式

2017-08-02  本文已影响7人  minminaya

定义

适配器模式把一个类的接口变换成客户端所期待的另外一种接口,从而使原本因为接口不匹配而无法一起工作的俩个类能够在一起工作。


使用场景

UML图

适配器模式.png 解释

优点

缺点


例子

将220V交流电转换为5V的直流电压,

  1. 被转换的原始对象
/** Adaptee角色,需要被装换的对象
 * Created by Niwa on 2017/8/2.
 */
public class Volt220 {
    public int getVolt220(){
        return 220;
    }
}
  1. 需要转换成的目标角色,5V直流
/** Target角色
 * Created by Niwa on 2017/8/2.
 */
public interface FiveVolt {
    int getVolt5();
}

  1. 适配器
/** Adapter角色,将220v的电压装换成5v的电压
 * Created by Niwa on 2017/8/2.
 */
public class VoltAdapter extends Volt220 implements FiveVolt{

    @Override
    public int getVolt5() {
        return 5;
    }
}

关键点在这里,通过实现要转换成的目标接口,和继承原始类实现接口转换

  1. 测试类

/** 测试类
 * Created by Niwa on 2017/8/2.
 */
public class Client {

    public static void main(String[] args){
        VoltAdapter voltAdapter = new VoltAdapter();
        System.out.println("输出电压:" + voltAdapter.getVolt5());
    }
}


输出结果:

输出电压:5


源代码:DesignPattern


参考:

《Android源码设计模式解析与实战读书》
各大佬博客


end

上一篇下一篇

猜你喜欢

热点阅读