设计模式-适配器模式

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

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

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","");
    }
}
相关推荐
奋斗的小乌龟7 小时前
动态创建Agent02
java
ZFSS7 小时前
Localization Translate API 集成与使用指南
java·服务器·数据库·人工智能·mysql·ai编程
摇滚侠7 小时前
Java 零基础全套教程,集合框架,笔记 153-163
java·开发语言·笔记
nannan12327 小时前
后端技术栈梳理
java
L、2188 小时前
CANN算子开发调试实战:从“Segmentation Fault“到定位根因的完整流程
java·开发语言
索木木9 小时前
NCCL SHARP 和 TREE算法
java·服务器·算法
NiceCloud喜云9 小时前
Claude Files API 深入:从上传、复用到配额管理的工程化指南
android·java·数据库·人工智能·python·json·飞书
超梦dasgg10 小时前
Java 生产环境 MQ 技术选型全解析
java·开发语言·java-rocketmq·java-rabbitmq
霸道流氓气质10 小时前
Spring AI 多工具链式调用(Tool Chain)极简实战
java·人工智能·spring
罗超驿11 小时前
22.深入剖析JDBC架构:从原生API到企业级数据交互核心
java·数据库·mysql·面试