设计模式-适配器模式

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

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

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","");
    }
}
相关推荐
daidaidaiyu12 分钟前
一文学习入门 ThingsBoard 开源物联网平台
java·mqtt·spring
状元岐12 分钟前
C#反射从入门到精通
java·javascript·算法
亚历克斯神15 分钟前
Elasticsearch 全文搜索实战:构建企业级搜索引擎
java·spring·微服务
亚历克斯神16 分钟前
Spring Boot 与 Elasticsearch 8.0 集成
java·spring·微服务
星晨雪海2 小时前
Lombok 注解使用场景终极总结
java·数据库·mysql
Stella Blog2 小时前
狂神Java基础学习笔记Day03
java·笔记·学习
zopple3 小时前
四大编程语言对比:PHP、Python、Java与易语言
java·python·php
逍遥德4 小时前
Java 锁(线程间)和数据库锁(事务间)对比详解
java·数据库·sql·高并发·锁机制
gwjcloud4 小时前
Docker详解
java·docker·容器
河阿里4 小时前
Java-JWT令牌技术深度指南
java·开发语言