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

解决方案 »

  1.   

    如果项目需要很强的扩展性,或者是做框架,接口很重要,如果只是自己做个小项目,不需要考虑太多,以完成任务为要,就不要考虑太多接口的事。大家开发中的项目一般都不大,同一个功能需要提供不同实现的情况很少,例如DAO,一般项目定了用MySQL,很少有可能在后期改成DB2,所以开发时不需要考虑DAO也用接口,以后要用MySQLDao还是DB2Dao,而是直接定义和使用DAO实现。用接口扩展性强,不用接口实现简单,看场景和需求决定用什么。
      

  2.   

      嗯嗯,如果是做产品的话service层是否需要考虑?还是说根据实际情况,当service层有部分类多次修改后,我们再把它抽取出来,因为可能一开始有些方法无法确定是否会被修改
      

  3.   

    是啊,我在开发spring或者ssh的项目的时候公司就要求这样,每次都得一个接口一个实现的写,明明一个实现方法就好,只需要改一个类,结果却要改四个类
      

  4.   

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

  5.   

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

  6.   

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

  7.   

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