适配器设计模式
- 🚩什么是适配器设计模式?
 - 🚩适配器设计模式的特点
 - 🚩适配器设计模式的结构
 - 🚩适配器设计模式的优缺点
 - 🚩适配器设计模式的Java实现
 - 🚩代码总结
 - 🚩总结
 
🚩什么是适配器设计模式?
适配器模式(Adapter Pattern) 是 结构型设计模式,它允许 不兼容的接口 之间进行 协作。适配器模式通过 包装 一个类的接口,使其能够与另一个接口兼容。
使用场景
-  
需要 将现有类与不兼容的接口 进行协作时。
 -  
需要 复用现有类,但其接口不符合需求时。
 -  
需要 统一多个类的接口,以便客户端可以一致地使用它们。
 
🚩适配器设计模式的特点
-  
接口转换:适配器模式可以将一个类的接口转换成客户端期望的另一个接口。
 -  
透明性:客户端通过适配器与目标接口交互,无需知道适配器的存在。
 -  
复用性:适配器模式可以复用现有的类,而无需修改其代码。
 -  
灵活性:适配器模式可以灵活地处理不同接口之间的差异。
 
🚩适配器设计模式的结构
适配器模式主要包含以下部分:
-  
Target(目标接口):客户端期望的接口,适配器需要实现该接口。
 -  
Adaptee(被适配者):需要被适配的类,其接口与目标接口不兼容。
 -  
Adapter(适配器):通过包装 Adaptee,将其接口转换为 Target 接口。
 -  
Client(客户端):通过 Target 接口与适配器交互。
 
图例:

🚩适配器设计模式的优缺点
✅ 优点
-  
接口兼容:适配器模式可以使不兼容的接口之间进行协作。
 -  
复用性:可以复用现有的类,而无需修改其代码。
 -  
灵活性:适配器模式可以灵活地处理不同接口之间的差异。
 
❌ 缺点
-  
增加复杂性:引入适配器会增加系统的复杂性,尤其是在有多个适配器时。
 -  
性能开销:适配器模式可能会引入额外的性能开销,尤其是在频繁调用时。
 
🚩适配器设计模式的Java实现
代码地址:GitHub
- 创建目标接口 
USB,定义客户端期望的方法Request()。 
/**
 * @author hanson.huang
 * @version V1.0
 * @ClassName USB
 * @Description 目标接口
 * @date 2025/3/24 10:09
 **/
public class USB {
    public void Request() {
        System.out.println("USB数据线");
    }
}
 
- 创建被适配者 
TypeC,定义其特有的方法SpecificRequest()。 
/**
 * @author hanson.huang
 * @version V1.0
 * @ClassName TypeC
 * @Description 被适配者 TypeC
 * @date 2025/3/24 10:10
 **/
public class TypeC {
    public void SpecificRequest() {
        System.out.println("Type-C数据线");
    }
}
 
- 创建适配器 
Adapter,继承USB并包装TypeC,将SpecificRequest()转换为Request()。 
/**
 * @author hanson.huang
 * @version V1.0
 * @ClassName Adapter
 * @Description 适配器 Adapter
 * @date 2025/3/24 10:10
 **/
public class Adapter extends USB {
    private TypeC typeC = new TypeC();
    @Override
    public void Request() {
        typeC.SpecificRequest();
    }
}
 
- 创建客户端,测试适配器模式
 
/**
 * @author hanson.huang
 * @version V1.0
 * @ClassName AdapterPattern
 * @Description 测试适配器模式
 * @date 2025/3/24 10:13
 **/
public class AdapterPattern {
    public static void main(String[] args) {
        USB usb = new Adapter();
        usb.Request();
    }
}
 
📌 运行结果

🚩代码总结
-  
目标接口
USB定义客户端期望的方法Request()。 -  
被适配者
TypeC定义其特有的方法SpecificRequest()。 -  
适配器
Adapter继承USB并包装TypeC,将SpecificRequest()转换为Request()。 
🚩总结
-  
适配器模式(Adapter Pattern) 允许
不兼容的接口之间进行协作,通过 包装 一个类的接口,使其能够与另一个接口兼容。 -  
适用于 将现有类与不兼容的接口 进行协作、复用现有类 或 统一多个类的接口 的场景。
 -  
Java 实现 需要 定义目标接口、创建适配器 并 包装被适配者,以实现接口转换。
 
✅ 适用场景:
-  
需要 将现有类与不兼容的接口 进行协作时。
 -  
需要 复用现有类,但其接口不符合需求时。
 -  
需要 统一多个类的接口,以便客户端可以一致地使用它们。
 
创作不易,不妨点赞、收藏、关注支持一下,各位的支持就是我创作的最大动力❤️




















