領域事件
注意
領域事件通常被用作一個有界上下文內領域模型中的單線程模式
什么是事件
事件就是代表某一行為發生后所產生的信息 , 具有代表問題域中重要事件的公共屬性的不可變類(數據對象、C# POCO 、JAVA POJO) , 它也是一種設計模式 , 類似于發布-訂閱 , 其中會觸發事件而事件處理程序會處理它們
異步性
想要在有界上下文內具有異步、可靠的通信 , 像實現最終一致性聚合這樣的場景 , 使用領域事件的解耦特性就能應付。需要注意的是 , 在觸發異步流程的事件處理程序時 , 需要明白事物邊界 , 如果一個事件更新了數據庫 , 另一個事件發布一條消息 , 那么當其中一個失敗時 , 你可能會希望這兩個操作都回滾
優缺點
最明顯的好處是能夠解耦構造體之間的關聯 , 讓領域模型更加純粹 , 不過從代碼閱讀上會有一定程度上的影響 , 對于經驗較少的開發來說會需要一段時間的學習
Grass Mud Horse

浙公網安備 33010602011771號