繁体   English   中英

MediatR CQRS 命令处理程序验证

[英]MediatR CQRS command handler validation

我在我的项目中使用 MediatR CQRS。

使用 DDD。 所以我有一个应用层。

该层中存在的所有中介命令。

假设我有将数据保存到数据库的命令。 所以应该是指挥。 现在在保存之前,我需要检查一些密钥是否存在与数据库以及一些价格金额验证。 如果存在,我需要将验证消息发送回 api。

这个责任是否在命令内部,因为它是一个读取操作?

这种验证在管道行为处处理,并在调用验证行为时直接调用存储库。 在 CQRS 中遵循正确的方法吗?

这可能比Software Engineering StackExchange好一点,因为它有点基于意见。 但是,就个人而言,我将所有命令/查询预验证逻辑直接放在其自己的专用验证器 object 中,该验证器由管道行为 object 拾取。 我在Jason Taylor 的 Clean Architecture 演示之后对我的方法进行了建模,我发现预先执行所有复杂的验证大大降低了我的命令和查询的复杂性。

许多开发人员会争辩说,这样的功能对于标准属性验证器来说有点过于复杂,但我们已经取得了巨大的成功。 如果您想将您的属性验证器(确保字符串不为空或 null、整数在范围内等的验证器)分离到与您的数据完整性验证器一起存在的单独验证器中,这也是一种选择。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM