面向接口编程的目的是封装变化点,在一个项目开发的过程中,针对需求的变化将易变的需求抽象封装为一个个接口,在编程时针对这些接口编程,即使以后需求发生了改变,由于是针对接口编程,所以这部分代码可以复用。
针对接口编程的好处:
1,分工合作,提高效率
2,有利于复用
3,有约束,统一管理
4,低耦合,有利于隔离
举例:
A->B(A关联B,或A依赖B)
A依赖与具体的东西B,A可视为B的客户端,当B发生变化的时候,比如说变成了C,那么所有A->B的所有地方都需要改变,那将是一个痛苦的过程;但是利用了接口,将易变的东西抽象出来后(利用反转依赖),将B,C抽象为一个接口,B、C都实现这个接口D,而A依赖于D,那么由B替换为C,只是D的代码发生少量改动即可。