【发布时间】:2015-07-23 07:02:28
【问题描述】:
我经常在 DDD 中看到术语不变量。 Here Dino Esposito 谈论它。如果我查看 .NET 库,我会看到一个 ValidationAttribute 类。 不变量和验证规则是否相同?例如,我可以说 50% 的折扣只有在订单总额超过 250 美元时才可用 是一个不变量?
或者它们是不同的,不变量是为了保护对象不变得无效,而验证是检查对象的有效性,即使它已经改变了它的状态(它可以处于有效或无效状态)?在上面的例子中,如果我使用不变量,我会在更新折扣之前检查不变量,在验证的情况下,我会应用 50% 的折扣,然后检查有效性(对象已经处于无效状态)。
【问题讨论】:
标签: validation domain-driven-design invariants