欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

设计模式--适配器模式

程序员文章站 2024-01-20 18:49:10
...

文章导航

定义

适配器模式: 将一个类的拮抗转换成用户期望的另一个接口,使原本不兼容的类也可以一起工作

  • 提高类的透明性,复用性,在很多情况下符合开闭原则
  • 亡羊补牢,并非代码初期使用的设计模式,而是在后期类的方法和需求不兼容时进行处理
  • 降低了可读性,过多使用会使系统代码变的凌乱

示例

很多耳机是圆孔线,而有些手机只支持Type-c的接口.因此,我们在Type-C类型的手机上使用耳机时需要转接口来进行转换, 这个转接口就是一种适配器

创建圆孔接口类

public class CircularHole {
    public String connectByCircularHole(){
        String attribute = "圆孔接口";
        System.out.println("使用" + attribute + "连接手机");
        return attribute;
    }
}

创建一个Type-C接口

public interface TypeC {
    public String connectByTypeC();
}

实现适配器类

public class HeadsetAdapter implements TypeC{

    private CircularHole circularHole;

    public HeadsetAdapter(CircularHole circularHole) {
        this.circularHole = circularHole;
    }

    public String connectByTypeC() {
        String adapterConnect = circularHole.connectByCircularHole();
        // 进行转换
        String connect = "Type-C";
        System.out.println("输入: " + adapterConnect + "; 输出: " + connect);
        return adapterConnect;
    }
}

测试代码

public class Test {
    public static void main(String[] args) {
        // 传入的圆孔接口,但实际输出的是Type-C,实现了手机与圆孔耳机线的兼容
        HeadsetAdapter headsetAdapter = new HeadsetAdapter(new CircularHole());
        headsetAdapter.connectByTypeC();
    }
}

执行结果
设计模式--适配器模式