java实际开发中面向接口开发的作用

时间:2020-12-28 21:21:46
   我们在使用ssh或者spring开发项目时,经常是写个接口再对应写一个实现,但是可能是我做的项目较少,很少做一个接口会有多个实现。因此感觉总是要service写一个接口,再写一个实现,dao也是这样,那反而开发速度变慢了,接口泛滥了。特别是接触了JFinal的极速开发思想后更迷惑了,是否我们实际开发项目的过程中要使用接口?还是直接使用实现类,如果有修改需求,就去改底层实现就好?求指导

13 个解决方案

#1


如果项目需要很强的扩展性,或者是做框架,接口很重要,如果只是自己做个小项目,不需要考虑太多,以完成任务为要,就不要考虑太多接口的事。

大家开发中的项目一般都不大,同一个功能需要提供不同实现的情况很少,例如DAO,一般项目定了用MySQL,很少有可能在后期改成DB2,所以开发时不需要考虑DAO也用接口,以后要用MySQLDao还是DB2Dao,而是直接定义和使用DAO实现。

用接口扩展性强,不用接口实现简单,看场景和需求决定用什么。

#2


我也觉得很多时候没必要...
经常是一个接口就这么一个实现
不过听老大说不写不规范那他硬要我写就没办法了
不过还好可以复制粘贴= =

#3


引用 1 楼 Inhibitory 的回复:
如果项目需要很强的扩展性,或者是做框架,接口很重要,如果只是自己做个小项目,不需要考虑太多,以完成任务为要,就不要考虑太多接口的事。

大家开发中的项目一般都不大,同一个功能需要提供不同实现的情况很少,例如DAO,一般项目定了用MySQL,很少有可能在后期改成DB2,所以开发时不需要考虑DAO也用接口,以后要用MySQLDao还是DB2Dao,而是直接定义和使用DAO实现。

用接口扩展性强,不用接口实现简单,看场景和需求决定用什么。
  嗯嗯,如果是做产品的话service层是否需要考虑?还是说根据实际情况,当service层有部分类多次修改后,我们再把它抽取出来,因为可能一开始有些方法无法确定是否会被修改

#4


引用 2 楼 scmod 的回复:
我也觉得很多时候没必要...
经常是一个接口就这么一个实现
不过听老大说不写不规范那他硬要我写就没办法了
不过还好可以复制粘贴= =
是啊,我在开发spring或者ssh的项目的时候公司就要求这样,每次都得一个接口一个实现的写,明明一个实现方法就好,只需要改一个类,结果却要改四个类 java实际开发中面向接口开发的作用

#5


我总认为好多做java的就是做

#6


接口的重要作用就是可以支持多重继承,大项目开发的时候,一般接口都会提前定好,这样会方便后面的快速开发,或者分层开发。
至于开发用接口好还是实现好,还要看你的实际业务需求。
如果你的业务频繁的变动,那肯定直接实现类好。但是一般大项目都不会出现这种情况滴。
所以不必太纠结用哪个。

有时候项目经理的要求不一定就科学,但是肯定要作为项目开发规则执行,别太纠结哦。

#7


MVC模式三层里面喜欢套用接口,其实就是为了以后修改实现方便,但是实际上实现换数据库或者其他还是很少的。

#8


多态,多态....

#9


我也觉得shh的service和dao没必要用接口,直接用实现类就行。所谓的扩展性完全用不到

#10


Java之所以提供接口的概念是为了实现Java 的多态性,我们在使用的时候,使用接口类型变量接受其实现所实例化的类对象,这样,再用变量调用具体方法时,就会调用实现类里的同名方法,这样就动态实现了同一种类型变量调用同一个方法,实现不同功能的作用。

#11


啊啊所大所阿达

   这是一个秋天

#12


使用接口隐藏了封装细节,只提供必要的方法与之实现进行沟通,封装、继承、多态。看似封装好像没什么东西,但实际上是很重要的,提供一个容易使用,理解清晰的接口是很难做到的。

#13


刚反应过来,挖坟了。哈哈。

#1


如果项目需要很强的扩展性,或者是做框架,接口很重要,如果只是自己做个小项目,不需要考虑太多,以完成任务为要,就不要考虑太多接口的事。

大家开发中的项目一般都不大,同一个功能需要提供不同实现的情况很少,例如DAO,一般项目定了用MySQL,很少有可能在后期改成DB2,所以开发时不需要考虑DAO也用接口,以后要用MySQLDao还是DB2Dao,而是直接定义和使用DAO实现。

用接口扩展性强,不用接口实现简单,看场景和需求决定用什么。

#2


我也觉得很多时候没必要...
经常是一个接口就这么一个实现
不过听老大说不写不规范那他硬要我写就没办法了
不过还好可以复制粘贴= =

#3


引用 1 楼 Inhibitory 的回复:
如果项目需要很强的扩展性,或者是做框架,接口很重要,如果只是自己做个小项目,不需要考虑太多,以完成任务为要,就不要考虑太多接口的事。

大家开发中的项目一般都不大,同一个功能需要提供不同实现的情况很少,例如DAO,一般项目定了用MySQL,很少有可能在后期改成DB2,所以开发时不需要考虑DAO也用接口,以后要用MySQLDao还是DB2Dao,而是直接定义和使用DAO实现。

用接口扩展性强,不用接口实现简单,看场景和需求决定用什么。
  嗯嗯,如果是做产品的话service层是否需要考虑?还是说根据实际情况,当service层有部分类多次修改后,我们再把它抽取出来,因为可能一开始有些方法无法确定是否会被修改

#4


引用 2 楼 scmod 的回复:
我也觉得很多时候没必要...
经常是一个接口就这么一个实现
不过听老大说不写不规范那他硬要我写就没办法了
不过还好可以复制粘贴= =
是啊,我在开发spring或者ssh的项目的时候公司就要求这样,每次都得一个接口一个实现的写,明明一个实现方法就好,只需要改一个类,结果却要改四个类 java实际开发中面向接口开发的作用

#5


我总认为好多做java的就是做

#6


接口的重要作用就是可以支持多重继承,大项目开发的时候,一般接口都会提前定好,这样会方便后面的快速开发,或者分层开发。
至于开发用接口好还是实现好,还要看你的实际业务需求。
如果你的业务频繁的变动,那肯定直接实现类好。但是一般大项目都不会出现这种情况滴。
所以不必太纠结用哪个。

有时候项目经理的要求不一定就科学,但是肯定要作为项目开发规则执行,别太纠结哦。

#7


MVC模式三层里面喜欢套用接口,其实就是为了以后修改实现方便,但是实际上实现换数据库或者其他还是很少的。

#8


多态,多态....

#9


我也觉得shh的service和dao没必要用接口,直接用实现类就行。所谓的扩展性完全用不到

#10


Java之所以提供接口的概念是为了实现Java 的多态性,我们在使用的时候,使用接口类型变量接受其实现所实例化的类对象,这样,再用变量调用具体方法时,就会调用实现类里的同名方法,这样就动态实现了同一种类型变量调用同一个方法,实现不同功能的作用。

#11


啊啊所大所阿达

   这是一个秋天

#12


使用接口隐藏了封装细节,只提供必要的方法与之实现进行沟通,封装、继承、多态。看似封装好像没什么东西,但实际上是很重要的,提供一个容易使用,理解清晰的接口是很难做到的。

#13


刚反应过来,挖坟了。哈哈。