用途:在 .NET 清洁架构项目中按 DDD 模式生成领域事件及其处理器,并实现实体事件触发、MediatR 通知处理与 Outbox 可靠投递的骨架代码。
主要能力:提供 IDomainEvent 标记接口(继承 INotification,含 Id 与 OccurredOnUtc)、DomainEvent 抽象记录、具体事件记录(Created、Updated、Deactivated、Deleted 及带字段的丰富事件);展示在实体工厂方法与状态变更方法中通过 RaiseDomainEvent 触发事件;生成 INotificationHandler 处理器,支持日志、发邮件、创建默认设置等副作用;实现 Outbox:OutboxMessage 实体、EF Core 配置(jsonb 内容、未处理索引)、在 ApplicationDbContext.SaveChangesAsync 前把实体领域事件转为 Outbox 消息,并用 Quartz 的 ProcessOutboxMessagesJob 批量取未处理消息反序列化后经 IPublisher 发布。
使用方式:资料以模板形式给出文件路径与代码结构,需按命名空间与聚合替换占位符,放入 Domain/Abstractions、Domain/{Aggregate}/Events、Application/{Feature}/EventHandlers、Infrastructure/Outbox 等目录;需安装 MediatR、EF Core、Quartz 等依赖(具体命令未提供)。
适用场景:采用 .NET 清洁架构、DDD 与 CQRS 的项目中,需要解耦发布订阅并保证事件可靠投递时使用。
限制:资料未提供官方安装命令、包版本、配置步骤与完整分页/重试策略;资料原文在 ProcessOutboxMessagesJob 处被截断,处理作业后半部分暂未提供;是否为商业产品、收费与授权信息暂未提供。