JAVA基础-面向接口编程
2021-06-28 11:07
标签:wired 变化 com hello ica ali class 初始化 一个 面向过程编程 初学者编程时多半采用直接耦合的方式编程,即在类中直接new一个对象,或者将代码逻辑大段的写在一个方法里,有点儿类似于面向过程。 问题出现 这样虽然可以满足当下的需求,但是一旦需求变化,比如: 场景一:覆盖 PD提了新的需求,这时需要增加一个新的逻辑替代原有逻辑,则需要手动覆盖大段原代码; 场景二:动态调用 需要是要动态调用不同的实现逻辑以满足新需求,这时代码中可能会多出不少if else。 面向接口编程 场景一:覆盖 当一个接口有多个实现类,需要通过name注入的方式指定某个实现类,否则报错。name注入的方式:1.@AutoWired+@Qualifier("helloService") 2.@Resource(name="helloService") 场景二:动态调用 可以用map存储该接口的所有实现类,map中的值初始化可以采用:MapString, TrafficMode> map = applicationContext.getBeansOfType(TrafficMode.class);
map可以放到某个factory的成员变量中,这时map中就装有了所有实现类,调用时根据参数动态调用即可。
参考链接:https://www.imooc.com/article/17263
JAVA基础-面向接口编程
标签:wired 变化 com hello ica ali class 初始化 一个
原文地址:https://www.cnblogs.com/zhushaolong/p/14930595.html