设计模式-适配器模式

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

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

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","");
    }
}
相关推荐
毕设源码-赖学姐6 分钟前
【开题答辩全过程】以 高校教学资源共享系统的设计与实现为例,包含答辩的问题和答案
java·eclipse
辣机小司33 分钟前
【软件设计师】自编思维导图和学习资料分享(中级已过)
java·c++·软考·软件设计师
爱笑的眼睛111 小时前
深入解析Matplotlib Axes API:构建复杂可视化架构的核心
java·人工智能·python·ai
乐观甜甜圈1 小时前
JDK8 中线程实现方法与底层逻辑详解
java
尤物程序猿1 小时前
Java如何不建表完成各种复杂的映射关系(鉴权概念、区域概念、通用概念)
java·开发语言
cike_y1 小时前
JSP内置对象及作用域&双亲委派机制
java·前端·网络安全·jsp·安全开发
也许是_2 小时前
大模型应用技术之 Spring AI 2.0 变更说明
java·人工智能·spring
xunyan62342 小时前
面向对象(下)-内部类的分类
java·学习
巴拉巴拉~~2 小时前
KMP 算法通用进度条组件:KmpProgressWidget 多维度 + 匹配进度联动 + 平滑动画
java·服务器·前端
Yeniden2 小时前
Deepeek用大白话讲解 --> 迭代器模式(企业级场景1,多种遍历方式2,隐藏集合结构3,Java集合框架4)
java·开发语言·迭代器模式