1. 程式人生 > >DDD領域驅動設計:領域事件

DDD領域驅動設計:領域事件

# 1 前置閱讀 在閱讀本文章之前,你可以先閱讀: * DDD領域驅動設計是什麼 * DDD領域驅動設計:實體、值物件、聚合根 * DDD領域驅動設計:倉儲 * MediatR一個優秀的.NET中介者框架 # 2 什麼是領域事件? 領域事件是在領域中發生的事,你希望同一個領域(程序)的其他部分了解它。 通知部分通常以某種方式對事件作出反應。 # 3 實現領域事件? 重點強調領域事件釋出/訂閱是使用 MediatR 同步實現的。 **首先**,定義待辦事項已更新的領域事件 ``` public class TodoUpdatedDomainEvent : INotification { public Todo Todo { get; } public TodoUpdatedDomainEvent(Todo todo) { Todo = todo; } } ``` **然後**,引發領域事件,將域事件新增到集合,然後在提交事務之前或之後立即排程這些域事件,而不是立即排程到域事件處理程式 。 ``` public abstract class Entity { //... priv