c# - 通知验证者验证要求更改的最佳方式是什么?
问题描述
验证阶段之一是检查关联的 id 是否存在于数据库中。为了不为每个验证引用 dbcontext,我决定对其进行优化并将这些 ID 作为静态字段存储在验证器中。但我需要了解这些 ID 列表的更改。我研究了 和 之类的主题Event Sourcing
,Kafka
但似乎这不是我需要的。这种模式/技术适合 EDD,但我有 DDD。另外,我不需要保留事件/消息列表。
我如何看待问题的解决方案:
- 创建一些
IDomainEventInvoker<T>
公共事件 - 实现一些服务(
CreateNewItemCommandHandler
)IDomainEventInvoker<NewItemCreated>
,它将通过事件传递新项目 - 在验证器中订阅此事件(通过 DI 获取事件源)
我的应用程序的架构:“干净的架构”(Domain-Application-Infrastructure-WebUI)+ CQRS。
为什么我决定将 ID 列表存储为静态字段?
- 此验证将是系统中负载最多的地方
- ID 列表很少更改(每隔几个月添加一个元素)
- 清单很短(项目开始时,只有两个项目)
我是否对问题做出了正确/有效的解决方案?我很困惑,在与 CQRS 一起分析事件时从未遇到过这种方法。另外,创建静态字段看起来像拐杖。
解决方案
推荐阅读
- ssl - 启用 raft 模式时 TLS 握手失败
- angular - 从构建项目Angular的文件中读取参数
- android - 编辑文本掩码字符和数字android studio
- command-line - 如何忽略 7-zip 命令行警告并继续?
- docker - docker 容器会即时获取代码更改吗?
- java - Android Studio 不断导入 import sun.jvm.hotspot.utilities.IntArray
- rust - 将向量中的每个元素与下一个元素进行比较
- c# - .net core 3.0 无法加载文件或程序集'System.Web.Http Version=5.2.7.0'
- python - 将需要修改的函数放在装饰器的什么位置
- php - 提供的 id 不存在 - php 中的 razorpay