模式介绍

适配器模式是一种结构型设计模式,它允许不兼容的接口之间进行协作。适配器模式通过将一个类的接口转换成客户希望的另一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

使用场景

  • 当您想使用某个类,但其接口与其他代码不兼容时
  • 当您需要复用一些类,这些类处于同一个继承体系,并且它们又有了额外的一些共同的方法时
  • 当您需要统一多个类的接口时

代码示例

// 目标接口
public interface Target {
    void request();
}

// 需要适配的类
public class Adaptee {
    public void specificRequest() {
        System.out.println("特殊请求");
    }
}

// 适配器
public class Adapter implements Target {
    private Adaptee adaptee;

    public Adapter(Adaptee adaptee) {
        this.adaptee = adaptee;
    }

    @Override
    public void request() {
        adaptee.specificRequest();
    }
}

优缺点

优点

  • 可以让任何两个没有关联的类一起运行
  • 提高了类的复用性
  • 增加了类的透明度

缺点

  • 过多使用适配器会让系统变得零乱
  • 由于适配器模式是在原有系统的基础上进行扩展
  • 增加了系统的复杂度