1、用接口来引用特定的实现类,而不是用 特定的类来引用自己
List list=new ArrayList();
LIst list=new LinkedList()
一旦需要改变自己的实现细节,要做的全部事情就是在创建的时候改变它。(其余代码可保持原样)
2、用接口来调用其实现类的方法
service:
serviceImpl:
controller层,调用service层时,用 service.function(); 而不是servcieImpl.function()。对外提供一个接口,上层不必关心具体实现,若需要改变具体细节,只需改变serviceimpl的内部实现即可。
面向接口编程的好处:将定义与实现相分离,降低了模块之间的耦合度,一个模块出现问题,不会影响其他模块。(理解还是不到位,还会继续研究)