java适配器模式 (Adapter Pattern)示例代码

适配器模式是一种结构型设计模式,用于将一个类的接口转换成客户端所期望的另一个接口。这种模式通常用于系统间接口不兼容的情况下,通过适配器来让它们能够一起工作。下面是一个简单的Java适配器模式示例代码。

目标接口

首先,我们定义了目标接口 Target,这是客户端期望的接口:

复制代码
public interface Target {
    void request();
}

适配者类

然后,我们定义了适配者类 Adaptee,它具有不兼容的接口,即客户端无法直接使用的接口:

复制代码
public class Adaptee {
    public void specificRequest() {
        System.out.println("Adaptee's specific request");
    }
}

适配器类

接下来,我们定义了适配器类 Adapter,它实现了目标接口,并持有适配者类的实例,在 request() 方法中调用了适配者类的方法来实现目标接口:

复制代码
public class Adapter implements Target {
    private Adaptee adaptee;

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

    @Override
    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();
    }
}

示例说明

  • 在这个示例中,Adaptee 类具有一个名为 specificRequest() 的方法,它是客户端无法直接使用的接口。
  • Target 接口定义了客户端期望的接口,它包含了一个名为 request() 的方法。
  • Adapter 类实现了 Target 接口,并持有一个 Adaptee 类的实例,在 request() 方法中调用了 Adaptee 类的 specificRequest() 方法来实现目标接口。
  • 客户端代码创建了一个 Adaptee 类的实例,并通过适配器 Adapter 将其转换成了目标接口 Target 的实例,然后调用了 request() 方法。

通过适配器模式,我们可以在不改变现有代码的情况下,使不兼容的接口能够一起工作,从而提高了代码的复用性和灵活性。

相关推荐
SWUT胖虎9 分钟前
ArkTS 中 @State 底层原理详解
java·list·harmonyos·鸿蒙
SimonKing12 分钟前
【开发者必备】Spring Boot 2.7.x:WebMvcConfigurer配置手册来了(四)!
java·后端·程序员
m0_7482336413 分钟前
jank实现C++无缝互操作的技术探索
开发语言·c++
BAGAE16 分钟前
HTTPS 加密原理介绍
java·c++·websocket·http·均值算法·启发式算法·最小二乘法
这周也會开心19 分钟前
SpringBoot的搭建方式
java·spring boot·后端
污斑兔26 分钟前
技术随笔:Node.js ESM 中巧用 `-r dotenv/config` 解决环境变量异步加载问题
开发语言·r语言·node.js
ALex_zry42 分钟前
C++中使用gRPC over Unix Domain Sockets的高性能进程间通信技术解析
开发语言·c++·unix
sun༒42 分钟前
递归经典例题
java·算法
小年糕是糕手43 分钟前
【C语言】函数栈帧的创建和销毁
java·c语言·开发语言·数据结构·c++·链表
ALex_zry1 小时前
构建通用并发下载工具:用Golang重构wget脚本的实践分享
开发语言·重构·golang