当前位置: 代码迷 >> J2EE >> 面向接口编程疑惑
  详细解决方案

面向接口编程疑惑

热度:97   发布时间:2016-04-19 22:04:06.0
面向接口编程困惑
本帖最后由 MyOracleX 于 2012-08-28 09:20:17 编辑
   小弟工作也有两年多了,最近正在搭建公司的一个框架,目前剩下的问题就是用不用接口。可能是之前做的项目不是非常大,也有可能是工作中没有细心观察,至今没有感受到接口编程带来的好处。在开发中没有出现过“看,这就是使用接口带来的好处”或者是“幸好这个地方是用接口实现的,要不就惨了”。
  
   相反,使用接口感觉到的只是种种不便,一直纠结于写接口,然后写实现类----因为很少有项目能在开发之前完完全全设计好接口,剩下的工作就是实现。
   
   有没有人能说几个应用场景充分阐述一下必须使用接口,使用普通类会带来很多麻烦?为了节省大家的时间,请不要说笼统的说使用接口带来的好处,这些网上都有,大部分开发人员也知道。
------解决方案--------------------
引用:
引用:

引用:
相反,使用接口感觉到的只是种种不便,一直纠结于写接口,然后写实现类----因为很少有项目能在开发之前完完全全设计好接口,剩下的工作就是实现。

非常赞同啊~!! 也许是我们设计能力不够吧。

举个例子吧。 JDBC驱动你用过吧? JDBC其实大多是实现了sun的JDBC接口的实现类。
你发现你爽伐? 不过是Oracle还是mysq……


这点我在工作中感受和楼主一样。 
也许某个web要用非常长得时间,然后要改了又改。也许好点。
目前我碰到的项目,基本一枪头做完。 过个几年也只改一点,或者增加新功能。
所以这样一个service1个借口有点点鸡肋。 

当然接口写好,大家都可以并行开发,这也是个说法。
不过我们这里还是一块自己做的,从jsp service到dao 到sql,一个人做。
因为相比程序,业务更复杂。 一个人理解了业务就做整的一块也许效率更高。

楼上说的,你放眼望去中国最不缺的就是coding的人,会前台又会框架,还会DB的人多得是。。。。
欢迎讨论哦~~
------解决方案--------------------
可以想想,这种分工下,如果没有接口,我写Service的时候,我如何去调用DAO层的?我根本不知道你实现我要的数据的方法名是什么,参数是如何定义的,返回值又是什么,那么我得去问你,我一天可能要用几十个方法,我能每个都问你吗?我今天问了你,你说XXX(String,int),回头你自己觉得不对,应该是XXX(Map),那调用的人怎么办

而有了接口,我就可以调用了,而实现接口的人,也是固定的,你根本不用管我到底要做什么用,你只管按照接口上的定义,实现内容即可。很方便,效率非常高。

至于什么接口实现的替换什么的,我只能说,这种在实际中,很少用到,就上面说的,最多也就是做一些大的平台会用到,做一个接口,返回关键数据给外部系统什么的,一般小点的项目是用不着到的。理论很丰满,现实很骨感,实现就是在我们国内,大多数的项目,接口的作用就2类
一种是平台型的,要提供外部系统数据用的
一种就是分工方便的
  相关解决方案