设计模式十一:适配器模式

拥有回忆 提交于 2020-01-12 22:44:16

适配器模式

  • 适配器模式(Adapter Pattern)是指将一个类的接口转换为客所期望的另一个接口,使原来不兼容的接口类可以一块工作,属于结构型设计模式。
  • 适配器模式适用的业务场景:
    1、类已经存在,但是它的方法和需求不匹配(方法和结果相似或相同);
    2、随着产品的维护,由于不同产品或者商家造成功能类似但是接口不同的情况而采取的方案
  • 适配器模式优点:
    1、提高类的透明性和复用,复用现有的类而不用修改
    2、目标类和适配器解耦,提高程序的扩展性
    3、符合开闭原则
  • 适配器模式缺点:
    1、需要全面考虑,增加了系统的复杂性
    2、适配器太多会造成代码凌乱,降低了代码的可读性

代码示例

  • 以生活中用电为例,我国用电都是220V交流电,但是很多时候都需要不同的直流电等,这时候需要一个电源适配器作转换,首先创建一个220V电:
public class Ordinary {
    public int outPut220() {
        int outPut =220;
        System.out.println("输出220V");
        return outPut;
    }
}

  • 创建一个需要5V直流电的接口:
public interface Need5 {
    int outPut5();
}
  • 定义一个适配器,用于把220V转换为5V:
public class Adapter implements Need5 {
    private Ordinary ordinary;
    public Adapter(Ordinary ordinary) {
        this.ordinary = ordinary;
    }

    @Override
    public int outPut5() {
        int input = this.ordinary.outPut220();
        int outPut = input/44;
        System.out.println("输入电压为:" + input + "V,变压后输出为:" + outPut + "V");
        return outPut;
    }
}

  • 定义测试类:
public class test {
    public static void main(String[] args) {
        Ordinary ordinary = new Ordinary();
        Adapter adapter = new Adapter(ordinary);
        adapter.outPut5();
    }
}

  • 结果如下:
    在这里插入图片描述
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!