2010-11-23 43 views
3

如何事件採購可與多種類型的字典對象的像CountryRegionTime Zone等和字典類型從特定的域模型就像BudgetAvailability定義相結合。一些字典對象應該可以在管理用戶界面中編輯,但有些不是。事件採購和字典對象

例如我們決定,我們不需要管理員用戶界面的國家。因此我們不需要執行AddCountry/RemoveCountry命令。

我是否應該生成一組CountryAdded事件,即是否應該將字典對象作爲事件流保存? 我們有沒有使用其他事件流的真相源?


如果我可以毫不事件流去字典對象,你會如何解決這個問題:

與 數量在每個國家的用戶的國家顯示列表。

在這種情況下,我需要與聽衆讀模式Country對象表示爲UserAdded事件。

謝謝。

回答

5

如果您使用事件採購作爲持久性機制,那麼:

  • 事件流是檢驗真理的從事件流生成的唯一來源(對象快照可以用來提高性能,但它們只是技術)。
  • 當您使用事件源時,您不需要顯式生成事件 - 只需發佈處理命令時生成的實際事件。
  • 如果您有一個預定義的國家列表,而且這些列表永遠不會更改,那麼您可以對其國家代碼進行硬編碼並引用它們。然而,這意味着視圖模型和用戶界面知道這個和國家不會改變。

順便說一句我建議在DDD/CQRS group上發佈類似的問題。它是CQRS/DDD/ES問題上最活躍的社區。

+0

謝謝你Rinat!你完全回答我的問題。感謝您指點我DDD/CQRS組。我找到了很多有用的問題/答案。會問我未來在這個小組中提出的問題。 – 2010-11-26 19:44:52