更具体的优点Q可以参看IDP原则?br />
~点Q?br />
设计难了Q在你没有写实现的时候,得惛_接口Q接口一变,全部乱套Q这是 所谓的设计比实现难?br />
主要Z实现松散耦合的系l,便于以后升Q扩展.你去研究一下spring吧,那东东会让你真正体会到interface的优点.
接口Q主要是Z 弥补 JAVA 丢失?多承?的特点吧 。。?br />
装好,好?br />
易扩?br />
Ҏ让h把编写程序和现实联系h。呵?br />
接口在项目中用的比较多的原因是,当你调用别h的接口时可以不用部vQ直接引用就行了?br />
我记得我曄在一帖子中提到q,一个接口可以从三方面去考察Q?br />
?定者(或者叫协调者)Q?span style="color: #ff0000;">实现者(或者叫生者)Q?span style="color: #ff0000;">调用者(或者叫消费者)?br />
接口本质上就?span style="color: #ff0000;">由制定者来协调实现者和调用者之间的关系?br />
所以通常说的 “面向接口~程”可以理解为:
只有实现者和调用者都遵@“面向接口 ~程”q个准则Q制定者的协调目的才能辑ֈ?/span>
一个老生常谈的例子就是JDBC?br />
很多解:既然我每q接 一U数据库Q如mysqlQ都要事先部|驱动程序,那我直接讉K驱动E序不就行了Q还要JDBCq吗Q?br />
实际上,JDBC已经起了臛_重要 的作用了Q正因ؓ驱动E序是按照JDBC所规定的方法编写的Q你才可以按照JDBC的方式去使用?br />
换句话说Q如果驱动程序提供者不按照JDBC?准来~写Q而是按它自己独创的方式编写,那么你在使用驱动E序的时候就要花旉查看驱动E序的文以搞清楚用法。而当你日后决定用另一U数据库的时候, q种数据库的驱动E序也不是按照JDBC~写的,你又得去搞清楚另一套完全不同的用法Q而你的所有代码都必须做相应的更改。这U代h不可惌的?br />
?现在的情冉|Q驱动程序提供者都按照JDBC规定的方式来~写Q程序员都按照JDBC规定的方式来使用。程序员不用兛_自己正在使用何种数据库,而驱动程 序编写者也不用费尽心力ȝ写接口文档来向程序员解释驱动E序的用法,大家都向标准看齐p了?br />
转蝲自:http://www.java123.net/JavaSE/mianxiangjiekoubianchengdehaochuheyoudian_7139.html