【发布时间】:2014-10-16 20:01:33
【问题描述】:
简单的问题:存储库应该在持久化之前验证实体吗? Validate = 检查所有值是否符合规则(例如 Name is
【问题讨论】:
标签: entity domain-driven-design repository-pattern ddd-repositories
简单的问题:存储库应该在持久化之前验证实体吗? Validate = 检查所有值是否符合规则(例如 Name is
【问题讨论】:
标签: entity domain-driven-design repository-pattern ddd-repositories
在 DDD 中,每个聚合都应对其有效性负责。永远不应该有一个对象处于无效状态。即每个聚合都应该拒绝任何会导致无效状态的突变。
引用 Jim Bogard 的一篇关于该主题的精彩文章 Validation in a DDD World:
简单地说,如果我们控制等式的操作方面,为什么我们会允许我们的实体进入无效状态?如果我们开始在实体上使用“IsValid”属性,生活就会变得更加复杂。
【讨论】: