我想知道 DAO 应该处理多少业务逻辑。
好的,我们都知道 DAO 的目的是封装数据访问并隐藏有关它的所有信息以及实现。此外,DAO 的目标也是将业务逻辑与数据访问逻辑分离。
我会争辩说,DAO 中必须有一些业务逻辑,例如,如果由于特定领域的某些要求而无法删除或更新业务对象怎么办?我想没有人会为那个 DAO 实现删除/更新方法,而且——在我看来——这意味着一些业务逻辑的知识。
现在,您可以想象我的问题更多的是概念性而非实际性,因此使用 ORM 是无用的建议,因为没有具体的使用场景。
问题是:如果对持久数据的操作有任何限制,DAO 应该处理多少业务逻辑?
示例:
BusinessObject1
在其生命周期内只能更新一次。假设我们可以很容易地知道它是否已经更新,如果我们BusinessObject1
再次尝试更新,DAO 是否应该抛出异常?或者它应该什么都没有检测到,这应该在业务层中进行管理?