设计模式-适配器模式

2023-10-17 15:19:10 浏览数 (1)

定义

将一个类的接口转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以相互合作。这个定义还好,说适配器的功能就是把一个接口转成另一个接口。

适配器模式将现成的对象通过适配变成我们需要的接口。适配器让原本接口不兼容的类可以合作。

适配器模式有类的适配器模式和对象的适配器模式两种不同的形式。

对象适配器模式通过组合对象进行适配。

类适配器通过继承来完成适配。

优点

  1. 更好的复用性。系统需要使用现有的类,而此类的接口不符合系统的需要。那么通过适配器模式就可以让这些功能得到更好的复用。
  2. 更好的扩展性。在实现适配器功能的时候,可以调用自己开发的功能,从而自然地扩展系统的功能。

示例

在下面的示例中,我们有一个目标接口 Target ,一个源接口 Adaptee 和一个适配器类 Adapter 。适配器类实现了目标接口,并且将请求转发到源接口的特定请求方法。客户端代码创建一个适配器对象,并使用它来调用目标接口的方法。

代码语言:javascript复制
// 源接口
public class Adaptee {
    public void specificRequest() {
        System.out.println("Adaptee's specific request");
    }
}
public interface Target {
    public void request();
}
// 适配器类
public class Adapter implements Target {
    private Adaptee adaptee;

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

    public void request() {
        adaptee.specificRequest();
    }
}
// 客户端代码
public class Client {
    public static void main(String[] args) {
        Adaptee adaptee = new Adaptee();
        Target target = new Adapter(adaptee);
        target.request();
    }
}

0 人点赞