面向接口编程的好处

来源:互联网 发布:seo外包公司北京华网 编辑:程序博客网 时间:2024/04/30 02:37
设计模式的体现: 
在设计模式的原则里的开闭原则,其实就是要使用接口来实现对扩展开放,对修改关闭。在设计模式的其他原则里也有关于基于接口编程的原则,即依赖倒转的设计原则(DIP)----高层模块不应该依赖于底层模块。二者都应该依赖于抽象;抽象不应该依赖于细节,细节应该依赖于抽象(注:来自《敏捷软件开发--原则、模式与实践》Robert C.Martin著)。在使用面向接口的编程过程中,将具体逻辑与实现分开,减少了各个类之间的相互依赖,当各个类变化时,不需要对已经编写的系统进行改动,添加新的实现类就可以了,不在担心新改动的类对系统的其他模块造成影响。 


编程也是一门艺术,在C语言中灵活的使用指针是一门艺术,在面对对象的程序中,灵活的使用接口也是一门艺术。现在项目中,功能越来越复杂,只设计了完美的类,对于整个系统来说没有多大意义,现在的项目更注重各个功能模块的整合及可维护性,接口的设计就显得更为重要了。程序设计不再是设计类的具体实现,而是从整个项目出发,设计出可扩展性强的接口。
在一些大型项目或者大型公司里,都是由架构师编写出系统接口,具体的实现类交给了程序员编写,公司越大这种情况越明显,所以在这些公司里做开发,我们可能都不知道编写出的系统是个什么样子,每天做的工作可能就是做“填空题”了。建议大家阅读敏《捷软件开发--原则、模式与实践》Robert C.Martin著这本书,那么对如何进行接口编程就会有一个新的认识了。 


 
一个接口可以从三方面去考察: 
制定者(或者叫协调者),实现者(或者叫生产者),调用者(或者叫消费者)。 


接口本质上就是由制定者来协调实现者和调用者之间的关系。 


所以通常说的“面向接口编程”可以理解为: 
只有实现者和调用者都遵循“面向接口编程”这个准则,制定者的协调目的才能达到。 


一个老生常谈的例子就是JDBC。 




优点: 
接口和实现分离了,适于团队的协作开发。 
更具体的优点:可以参看IDP原则。 




缺点: 
设计难了,在你没有写实现的时候,就得想好接口,接口一变,全部乱套,这就是所谓的设计比实现难。 

0 0
原创粉丝点击