代码改变世界

面向接口编程

2018-10-25 20:43  乘着风去破浪  阅读(158)  评论(0编辑  收藏  举报

面向接口编程
什么是面向接口编程,
举一个简单的例子来说明:
A委托B,B委托C,C委托D;
注意,A,B,C,D这几个变量的类型都是接口类型的变量,它们的真实面目,真实赋值是在程序运行中动态得把相应的某一个实现类的实例赋值给它们的;
也就是变量的类型都是面向接口类型的,通过这些面向接口的变量来组织程序调用链,动态生成它们相应的实现类实例然后赋值给这些变量;

 

在分析lucene的indexSearcher.search(booleanQuery1,10,sort,true,false);执行流程时,发现了好多这种面向接口组织调用逻辑,然后生成相应的实现类赋值给这些接口
类型的变量,如果不清楚面向接口的套路,可能看起来调来调去的会比较乱;