面向接口编程,将定义与实现分开在不同的地方,从更广的面来理解接口,它可以是interface与abstract class
一、面向接口编程有什么好处?
首先,小的项目确实可以直接对接实现类,免得麻烦。如果是大项目我理解有两点好处:一是可以利用接口实现IOC(控制反转),模块间依赖接口,而不是依赖实现类,这样可以解藕。二是利于扩展,有一些插件机制,就是通过接口的方式实现的。程序运行的时候,只要去扫描一下所有实现了接口的类,就可以认为是插件了。
二、是否把接口和实现类放在一起,就没意义了?
可能只有我自己有这个疑惑,原因就是对接口的认识还不深,其实,即使不把接口与实现类分放在不同的DLL中,使用面象接口的编程方式还是有意义的,同样可以使用IOC实现解藕,面向接口的方式,还是比直接对接实现类的方式更加稳定,不至于在修改一个实现类的名字的时候,就到处去改引用。