设计模式-适配器模式

适配器模式:

适配器模式(Adapter Pattern)是属于结构型类的设计模式,它的主要目的是将一个类的接口转换成客户端期望的另一个接口。用于统一兼容,使之可相互调用。

1 模式角色:

  • 目标接口(Target):这是客户期待的接口,它定义了客户端需要调用的方法。
  • 适配者(Adaptee):这是现有的接口,我们想要通过适配器将其功能与目标接口相匹配。
  • 适配器(Adapter) :这个类实现了目标接口,并包含适配者对象的引用。适配器负责在内部调用适配者的具体方法,以满足目标接口的要求。

2 工作原理:

适配器模式通过包装一个已有类(适配者),使它符合新接口(目标接口)。在使用目标接口的地方就可以透明地使用适配器所包装的对象,即使该对象的原始接口与目标接口不完全一致。

3 示例代码:

适配器模式java代码:

java 复制代码
// 目标接口
public interface Target {
    void request();
}

// 适配者类
public class Adaptee {
    public void specificRequest() {
        System.out.println("xxx");
    }
}

// 适配器类
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(); 
    }
}

4 适用场景:

  • 当系统需要使用现有类库中的某些类,但这些类的接口不符合系统的接口规范时。
  • 在多个类之间存在接口不兼容,需要统一接口进行交互时。
  • 当希望将第三方组件或遗留代码与新系统集成时,可以通过适配器模式来实现无缝对接。
相关推荐
渣哥1 小时前
原来 Java 里线程安全集合有这么多种
java
间彧2 小时前
Spring Boot集成Spring Security完整指南
java
间彧2 小时前
Spring Secutiy基本原理及工作流程
java
数据智能老司机3 小时前
精通 Python 设计模式——创建型设计模式
python·设计模式·架构
Java水解3 小时前
JAVA经典面试题附答案(持续更新版)
java·后端·面试
数据智能老司机4 小时前
精通 Python 设计模式——SOLID 原则
python·设计模式·架构
洛小豆5 小时前
在Java中,Integer.parseInt和Integer.valueOf有什么区别
java·后端·面试
前端小张同学5 小时前
服务器上如何搭建jenkins 服务CI/CD😎😎
java·后端
ytadpole6 小时前
Spring Cloud Gateway:一次不规范 URL 引发的路由转发404问题排查
java·后端
华仔啊6 小时前
基于 RuoYi-Vue 轻松实现单用户登录功能,亲测有效
java·vue.js·后端