JAVA基础-面向接口编程

2021-06-28 11:07

阅读:585

标签: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


评论


亲,登录后才可以留言!