gpt4 book ai didi

oop - DAO 和业务逻辑

转载 作者:行者123 更新时间:2023-12-02 00:57:32 27 4
gpt4 key购买 nike


我想知道 DAO 应该处理多少业务逻辑。

好吧,我们都知道 DAO 的目的是封装数据访问并隐藏有关它的所有信息以及实现。此外,DAO 的目标也是将业务逻辑与数据访问逻辑分离。

我认为 DAO 中必须有一些业务逻辑,例如如果由于特定域的某些要求而无法删除或更新业务对象怎么办?我猜想没有人会实现该 DAO 的删除/更新方法,并且 - 正如我所见 - 这意味着需要一些业务逻辑知识。

现在,正如你可以想象的那样,我的问题更多的是概念性而非实际性,因此使用 ORM 的建议毫无用处,因为没有具体的使用场景。

问题是:如果对持久数据的操作有任何限制,DAO 应该处理多少业务逻辑?

示例:
BusinessObject1在其生命周期内只能更新一次。假设我们可以很容易地知道它是否已经更新,如果我们尝试更新BusinessObject1,DAO是否应该抛出异常?再次?或者它应该检测不到任何内容,并且应该在业务层中进行管理?

最佳答案

如果您将数据存储在具有引用完整性规则的数据库中,那么您的数据层中就有业务规则。

这是所有经验法则的问题。他们一直工作到不工作为止。重点不是要避免数据层中的规则,重点是仅将规则放入属于那里的数据层中。例如,强制存储数据有效性的规则就属于数据层。强制执行数据使用方式的规则属于数据层。

关于oop - DAO 和业务逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12213528/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com