JAVA基础-面向接口编程

Posted 不合格的码农up

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA基础-面向接口编程相关的知识,希望对你有一定的参考价值。

面向过程编程

初学者编程时多半采用直接耦合的方式编程,即在类中直接new一个对象,或者将代码逻辑大段的写在一个方法里,有点儿类似于面向过程。

 

问题出现

这样虽然可以满足当下的需求,但是一旦需求变化,比如:

场景一:覆盖

PD提了新的需求,这时需要增加一个新的逻辑替代原有逻辑,则需要手动覆盖大段原代码;

场景二:动态调用

需要是要动态调用不同的实现逻辑以满足新需求,这时代码中可能会多出不少if else。

 

面向接口编程

场景一:覆盖

当一个接口有多个实现类,需要通过name注入的方式指定某个实现类,否则报错。name注入的方式:1.@AutoWired+@Qualifier("helloService") 2.@Resource(name="helloService")

场景二:动态调用

可以用map存储该接口的所有实现类,map中的值初始化可以采用:

Map<String, TrafficMode> map = applicationContext.getBeansOfType(TrafficMode.class);

map可以放到某个factory的成员变量中,这时map中就装有了所有实现类,调用时根据参数动态调用即可。

参考链接:https://www.imooc.com/article/17263

以上是关于JAVA基础-面向接口编程的主要内容,如果未能解决你的问题,请参考以下文章

Java基础教程:面向对象编程[2]

面向对象第三单元

Java基础:封装

java中面向接口编程

java:面向接口编程(解耦)

VSCode自定义代码片段——JS中的面向对象编程