微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

不变量和验证规则有什么区别?

我经常在DDD中看到术语“不变量”. Here Dino Esposito谈论它.如果我查看.NET库,我会看到一个 ValidationAttribute类.不变量和验证规则是否相同?例如,如果订单总额超过250美元是不变量,我可以说50%的折扣是可用的吗?

或者它们是不同的,其中不变量是保护对象变得无效,验证是检查对象的有效性,即使它已经改变了它的状态(它可能处于有效或无效状态)?在上面的例子中,如果我使用不变量,我在更新折扣之前检查不变量,并且在验证的情况下,我应用50%折扣然后检查有效性(对象已经处于无效状态).

解决方法

绝对地,验证是批准给定对象状态的过程,而在该状态甚至达到之前发生不变执行.

一个必然结果是,不变执行最好由自身变异(或创建)的东西执行,如自我保护反射,而验证通常由第三方完成.

Always valid学派主张使用不变量而不是验证.我认为它与DDD和Aggregates完美配合.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Mip是什么意思以及作用有哪些
怎么测试Mip页面运行情况
MIP安装的具体步骤有哪些
HTML添加超链接、锚点的方法及作用详解(附视频)
MIP的规则有哪些
Mip轮播图组件中的重要属性讲解
Mip的内联框架组件是什么
怎么创建初始的MIP配置及模板文件
HTML实现多选框及无法提交多数据的原因分析(附视频)
HTML如何设置复选框、单选框以及默认选项?(图文+视频)