原创

设计模式之适配器模式

温馨提示:
本文最后更新于 2023年11月16日,已超过 433 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

适配器模式

适配器属于结构型模式。目的是解决在不改变已有代码的情况下,提供一个桥梁(适配器),使互不兼容的两个接口(或系统)可以正常连接工作。

组成

目标(Target):需要适配的标准接口;
源对象(Source):需要被适配的不兼容对象;
适配器(Adapter):充当桥梁,将源对象转换成目标接口。

应用场景

系统数据及稳定性都没问题,但接口不符时,考虑使用适配器。

例如:

  • 民用电压220V交流电,而我们手机需要的是5V直流电;
  • MAC需要增加转接头才可以插网线;
  • 老系统登录需要兼容三方登录,如:QQ、微博等;

优缺点

优点

  • 可靠性:对旧接口的封装,对客户端透明,使得客户端无需修改代码;
  • 复用性:复用不兼容的类,无需修改,组合使用;
  • 扩展性:在开发过程中,可以增加新的适配器和被适配对象。

缺点

  • 过多适配器会导致系统结构复杂化;
  • 滥用适配器模式会导致系统设计紊乱;
  • 如果适配器没有好的实现方式,可能会影响整体系统性能;

实现

public class MAC {
    public void port() {
        System.out.println("我是typeC接口");
    }
}
public interface Target {
    void port();
}
public class Adapter extends MAC implements Target{
    @Override
    public void port() {
        super.port();
        System.out.println("新增usb接口");
        System.out.println("新增网线接口");
    }
}
public static void main(String[] args) {
    Target target = new Adapter();
    target.port();
}

输出

我是typeC接口
新增usb接口
新增网线接口

正文到此结束
本文目录