设计模式(六):适配器模式

182 阅读1分钟

介绍

适配器模式(Adapter Pattern)属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。

在程序软件世界中,我们需要使用某些成熟的组件,但是接口或者方法定义又使得我们无法直接使用,而又不能去修改运行稳定的代码。重新开发的话成本和代价都很高,这可以通过中间加一层适配层来转换组件与新使用方的关系,从而达到复用组件的目的。这就是今天所要说到的适配器模式在软件设计领域的使用,很多开源框架中也经常能够看到。

优点

  • 可以让任何两个没有关联的类一起运行
  • 提高了类的复用
  • 易于扩展

缺点

  • 适配器模式过多地使用,系统会比较凌乱,不易把握
  • 只能适配一个适配者类

应用

使不兼容的对象能够相互合作,实现方式有类继承,对象继承,缺省模式

实现

关键代码:适配器类通过继承或引用适配者的对象,把适配者接口转换成目标接口,让客户按目标接口的格式访问适配者

class SDCardImp {
    public void readSD(){
        System.out.println("支持SD卡");
    }
}

interface TargetAble {

    void readSD();

    void readTF();
}

class Adapter extends SDCardImp implements TargetAble{

    @Override
    public void readTF() {
        System.out.println("支持TF卡");
    }
}
   
class AdapterDemo {
    public static void main(String[] args) {
       
        Adapter adapter = new Adapter();
        adapter.readSD();
        adapter.readTF();
  
    }
}

运行结果:

支持SD卡
支持TF卡