设计模式-适配器模式

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

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

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","");
    }
}
相关推荐
左左右右左右摇晃9 分钟前
Java笔记——JMM
java·后端·spring
Schengshuo12 分钟前
Spring学习——新建module模块
java·学习·spring
Memory_荒年23 分钟前
Nacos双面超人:注册中心 + 配置中心,一个都不能少!
java·后端·架构
柒.梧.1 小时前
深入浅出理解原子操作:从单核到多核的实现原理
java
Moe4881 小时前
Redis 缓存三大经典问题:穿透、击穿与雪崩
java·后端·面试
MarkHD1 小时前
RPA工程化实践:三种核心设计模式让复杂流程优雅可控
linux·设计模式·rpa
赫瑞1 小时前
Java中的最长公共子序列——LCS
java·开发语言
于先生吖1 小时前
零基础开发国际版同城出行平台 JAVA 顺风车预约系统实战教学
java·开发语言
代码雕刻家1 小时前
2.22.StringBuffer类的常见用法、
java·开发语言
yhole1 小时前
Java进阶(ElasticSearch的安装与使用)
java·elasticsearch·jenkins