设计模式-适配器模式

适配器模式属于行为设计模式。行为设计模式关注的是对象之间的职责分配,以及对象之间的通信。适配器模式通过改变一个类的接口来符合客户端的期望,使得原本由于接口不兼容而无法协作的类能够一起工作,这体现了对象间行为的协调和解耦。我理解为是一个和事佬。

代码结构图:

设计模式-适配器模式-LMLPHP

/**
 * 需要适配的类
 * @Author : MengYansong
 * @create 2024/1/19 15:41
 */
public class Adaptee {
    public void specificRequest(){
        System.out.println("原方法");
    }
}
/**
 * 需要适配方法
 * @Author : MengYansong
 * @create 2024/1/19 15:42
 */
public class Target {
    public void request(){
        System.out.println("需要适配的方法");
    }
}
/**
 * 适配器
 * @Author : MengYansong
 * @create 2024/1/19 15:42
 */
public class Adapter extends Target{
    private Adaptee adaptee = new Adaptee();


    @Override
    public void request() {
        adaptee.specificRequest();
    }
}
/**
 * 适配器客户端
 * @Author : MengYansong
 * @create 2024/1/19 15:44
 */
public class AdaterClient {
    public static void main(String[] args) {
        // 通过适配器调用
        Target target = new Adapter();
        target.request();

        System.out.println("=== === ===");
        // 未通过适配器调用
        Target target1 = new Target();
        target1.request();
    }
}
输出结果:
Connected to the target VM, address: '127.0.0.1:10663', transport: 'socket'
原方法
=== === ===
需要适配的方法
Disconnected from the target VM, address: '127.0.0.1:10663', transport: 'socket'

两个类所做的事情相同或相似,但是具有不同的接口时要使用适配器模式。

01-21 15:25