raw.z
2016-03-07 05:38
采纳率: 20%
浏览 5.9k
已采纳

数据访问层和业务逻辑层为什么要定义接口?

数据访问层可能会操作不同的数据库,可是业务逻辑层我感觉没必要吧,不管从哪个数据库都是一种逻辑判断吧?我感觉没必要写两个实现类

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • 毕小宝 2016-03-07 06:06
    已采纳

    首先,面向接口编程是一种常用的编程规范,使用接口有很多好处,例如便于扩展和代码维护等。
    其次,DAO层使用接口,可能不同的数据库访问有不同的实现方法,这个用接口可能相对好理解一下;
    而业务逻辑层用接口,是为了便于系统维护和扩展,万一哪一天整个业务流程变化了呢,那时我们只要重新一种实现,然后配置该类型的引用就可以了,而客户端代码由于依赖的是抽象接口,就不需要修改了。

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 丑旦 2016-03-07 05:49

    可能是出于程序结构的考虑,接口实现,分层更明晰一些。

    评论
    解决 无用
    打赏 举报
  • 把分全给哥 2016-03-07 06:05

    这是业务逻辑层的作用

    评论
    解决 无用
    打赏 举报
  • ironman612 2016-03-07 06:15

    就是mvp的程序思想,不要数据访问层跟业务逻辑层有直接的关系,而是双方各开一个接口,统一在present里面调用双方接口,降低耦合性,也有助于单元测试。同时代码上也很好的提升的扩展性和复用性

    评论
    解决 无用
    打赏 举报
  • 编程爱好者熊浪 2016-03-07 06:38

    为什么要用业务逻辑层:主要是一些稍大型一点的项目,可能会有一些复杂的需求,需要用到很多的算法,但是控制层是用来跟接收视图层和和返回视图层数据的,本身代码已经有点多了,而且每个控制层里面不止有一个方法,所以显得控制层已经很多代码了,如果在把复杂的逻辑运算放在控制层,就会显得控制层东西太多,不好维护,如果放在Dao层的话,因为dao层是连接数据库的,你放了很多的业务逻辑算法在里面,就会显得不伦不类,也不好维护。对于一些逻辑不复杂的项目来说,它的用处确实不大,但MVC的三层架构是为了适合多数的项目,不过具体的层数可以根据自己的项目逻辑复杂度来定,我有个同学他们公司做的项目就有八层。

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题