Tom*_*son 19 validation domain-driven-design cqrs
我正在尝试使用Event Sourcing实现我自己的CQRS基础架构,以便更好地学习它.作为一个示例项目,我正在实现一个博客引擎,我知道它可能不是一个完美的契合,但我只想做一些真实的事情.
我现在遇到的问题是验证.每个帖子都有一个shortUrl,并且shortUrl应该是唯一的,但是我应该在哪里将此验证放在域中?我知道在我通过读取读取存储来发送命令之前我将进行验证,以便在创建create post命令或更新post命令时检查它是否有效.
我可以想到两个"解决方案".
Blog聚合,可以跟踪所有与博客相关的设置,也可以引用所有帖子.但在我看来,这个问题是我必须在那个场景中处理聚合之间的通信,以及每次我需要验证shortUrl我需要从事件存储中读取所有事件以创建所有帖子的唯一性时这似乎很复杂.还有其他选择吗?请注意,我知道我的域名可能不适合cqrs和DDD,但我这样做是为了在小域中学习.
这取决于“企业”想要发生什么。如果您希望客户端(命令的创建者)负责选择短 URL,它应该有一个读取存储来验证它的唯一性。当用户输入短 URL 时,视图应检查短 URL 是否唯一,如果不是,则显示验证错误。每当保存帖子时,事件都会发布更新的信息(包括短 URL),从而使阅读存储保持同步。
| 归档时间: |
|
| 查看次数: |
5136 次 |
| 最近记录: |