设计模式-适配器模式

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

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

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","");
    }
}
相关推荐
成为大佬先秃头13 小时前
前后分离项目:整合JWT+Shiro
java·springboot·shiro·jwt
y = xⁿ13 小时前
【Leet Code 】滑动窗口
java·算法·leetcode
day day day ...13 小时前
MyBatis条件误写引发的查询条件污染分析与防范
java·服务器·tomcat
hrhcode13 小时前
【java工程师快速上手go】一.Go语言基础
java·开发语言·golang
2601_9507039413 小时前
Spring IoC入门实战:XML与注解双解
java
带刺的坐椅13 小时前
Snack JSONPath 项目架构分析
java·json·java8·jsonpath
妙蛙种子31113 小时前
【Java设计模式 | 创建者模式】 原型模式
java·开发语言·后端·设计模式·原型模式
Lyyaoo.13 小时前
【JAVA基础面经】线程的状态
java·开发语言
Hello小赵13 小时前
C语言如何自定义链接库——编译与调用
android·java·c语言
希望永不加班13 小时前
SpringBoot 配置绑定:@ConfigurationProperties
java·spring boot·后端·spring