适配器模式

以下是一个简单的Java代码示例,演示了适配器模式的实现:

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

// 源接口
class Adaptee {
    void specificRequest() {
        System.out.println("Adaptee: specificRequest");
    }
}

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

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

    @Override
    public void request() {
        System.out.println("Adapter: request");
        adaptee.specificRequest();
    }
}

// 客户端
public class Client {
    public static void main(String[] args) {
        // 创建源对象
        Adaptee adaptee = new Adaptee();

        // 创建适配器,并传入源对象
        Target adapter = new Adapter(adaptee);

        // 调用目标接口方法
        adapter.request();
    }
}

在上述示例中,目标接口 Target 定义了客户端所期望的方法 request。源接口 Adaptee 实现了具体的操作 specificRequest。适配器 Adapter 实现了目标接口 Target,并在 request 方法内部调用了源接口 AdapteespecificRequest 方法,将客户端的请求适配到源接口上。

在客户端 Client 中,首先创建了源对象 adaptee。然后创建了适配器 adapter,并将源对象传入适配器的构造函数中进行适配。最后,通过调用目标接口的 request 方法来完成操作,实际上在适配器内部会调用源接口的具体操作。

运行该示例代码,输出结果为:

Adapter: request
Adaptee: specificRequest

可以看到,通过适配器模式,将源接口转换为了客户端所期望的目标接口,成功实现了适配。

posted @ 2023-08-11 00:11  博客-涛  阅读(18)  评论(0编辑  收藏  举报