【问题标题】:Is it unethical to J2EE Design patterns to make another DAO call from one DAO从一个 DAO 进行另一个 DAO 调用对 J2EE 设计模式是否不道德?
【发布时间】:2014-05-31 07:28:47
【问题描述】:

从一个 DAO 调用另一个 DAO 是否违反 J2EE 设计模式的精神,更重要的是 MVC 架构?详细地说,我是否应该将另一个 DAO 类注入现有的 DAO 类来完成我的事务?

我应该从我的第一个 DAO 调用中获取我的 DB 输出的结果-----> 返回到服务层(BL 层)---------> 然后使用第一个结果call 作为参数进行第二次 DAO 调用?

哪种做法更好?

【问题讨论】:

  • 道德(与道德原则有关)与此类设计决策无关 - 请考虑使用不同的措辞。

标签: hibernate jakarta-ee design-patterns dao


【解决方案1】:

没有人会阻止你以任何方式这样做。但是第一种方法可能会产生一些问题,例如,如果您有多个 DML 语句要由两个链接的 DAO 执行,那么如果第一个中抛出任何异常,可能会造成锁定情况。
所以最好使用如果需要,可以调用另一个 DAO 的服务方法。

【讨论】:

  • 同意!谢谢阿比纳布!
【解决方案2】:

我同意 Arinab 的回答。加上其他几个要提到的原因如下:

如果您从另一个 DAO 调用一个 DAO,则 Callee DAO 与被调用 DAO 紧密耦合。

因此,您没有使用 单一职责原则,这是SOLID design principle 的核心之一。此原则将帮助您制作小型、独立、功能齐全的 DAO

【讨论】:

    猜你喜欢
    • 2011-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-14
    • 2015-11-10
    • 1970-01-01
    • 2015-10-26
    • 2010-11-18
    相关资源
    最近更新 更多