设计模式-适配器模式

适配器模式就是在接口外再包装一层

比如说以前有一个接口用来查询项目数据,多个参数来查询项目信息

java 复制代码
public interface ProjectOld {
    public void getInfo(String ProName, String PriId, String ob);
}

现在有个的接口也是用来查询项目数据的,要两个参数(名称和ID)

java 复制代码
public interface ProjectNew {
    public void getInfo(String ProName, String PriId);
}
java 复制代码
public class ProjectNewImpl implements ProjectNew {
    @Override
    public void getInfo(String ProName, String PriId) {
        System.out.println(ProName+"项目,id:"+PriId"的项目信息为xxxxx");
    }
}

现在将新的查询接口转换为系统的目标接口

java 复制代码
public class ProAdapter implements ProjectOld {
    private ProjectNew projectNew;

    public ProAdapter(ProjectNew projectNew) {
        this.projectNew = projectNew;
    }

    @Override
    public void getInfo(String ProName, String ID,String ob) {
        projectNew.getInfo(ProName, ID);
    }
}

最终的时候调用可以实现原来接口和现有的接口共存

java 复制代码
public class AdapterClient {
    public static void main(String[] args) {
        ProjectOld projectOld = new ProAdapter(new ProjectNewImpl());
        projectOld.getInfo("Test", "664548","");
    }
}
相关推荐
fengxin_rou3 分钟前
一文读懂 Redis 集群:从哈希槽到透明访问
java·数据库·redis·算法·spring·缓存
m0_635647485 分钟前
Qt开发与MySQL数据库教程(二)——MySQL常用命令以及示例
java·开发语言·数据库·mysql
⑩-15 分钟前
@Vaild
java·javaee
Han.miracle19 分钟前
Spring Boot 后端分层开发实战:从 MVC 到三层架构详解
java
invicinble26 分钟前
it系统全链路思考
java
steel808827 分钟前
SSM与Springboot是什么关系? -----区别与联系
java·spring boot·后端
白云如幻29 分钟前
【JDBC】集合、反射和泛型复习
java·开发语言
数据中穿行30 分钟前
Java编译与类加载错误全指南
java
未秃头的程序猿37 分钟前
深入浅出MySQL事务:从ACID到Spring失效场景,2026最新实战指南
java·后端
程序员Terry40 分钟前
还在用 if-else 做兼容?三分钟学会适配器模式,让你的代码更优雅
java·设计模式