21
2020
10

什么是适配器模式?

答:适配器模式是将一个类的接口变成客户端所期望的另一种接口,从而使原本因接口不匹配而无法一起工作的两个类能够在一起工作。


优点:


可以让两个没有关联的类一起运行,起着中间转换的作用;

灵活性好,不会破坏原有的系统。

缺点:过多地使用适配器,容易使代码结构混乱,如明明看到调用的是 A 接口,内部调用的却是 B 接口的实现。


以生活中的例子来说,比如有一个充电器是 MicroUSB 接口,而手机充电口却是 TypeC 的,这个时候就需要一个把 MicroUSB 转换成 TypeC 的适配器,如下图所示:


适配器实现代码如下:


/\* \* 传统的充电线 MicroUSB \*/

interface MicroUSB {

    void charger();

}

/\* \* TypeC 充电口 \*/

interface ITypeC {

    void charger();

}

class TypeC implements ITypeC {

    @Override

    public void charger() {

        System.out.println("TypeC 充电");

    }

}

/\* \* 适配器 \*/

class AdapterMicroUSB implements MicroUSB {

    private TypeC typeC;


    public AdapterMicroUSB(TypeC typeC) {

        this.typeC = typeC;

    }


    @Override

    public void charger() {

        typeC.charger();

    }

}

/\* \* 测试调用 \*/

public class AdapterTest {

    public static void main(String[] args) {

        TypeC typeC = new TypeC();

        MicroUSB microUSB = new AdapterMicroUSB(typeC);

        microUSB.charger();


    }

}


程序执行结果:


TypeC 充电



« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。