2011-11-28 52 views
2

我需要發送電子郵件到管理員列表作爲對從UI發送的命令的響應 。需要通知的管理員是從針對讀取模型的查詢中檢索到的 。在命令處理程序中請求來自readmodel的數據

目前 - 從我瞭解的情況來看,我只有一個 選項:在發送命令前收集所需的管理員,並將 (名稱/電子郵件對)添加到命令中。

或者 - 是否可以從命令處理程序跳轉到讀取 模型?它感覺不對,但我真的沒有看到 這樣做的其他方式嗎?

回答

0

你不會告訴任何關於你如何實現命令端的東西。我通常在命令處理程序中提供這些信息。然後,我根據添加到命令中的ID查詢數據源的電子郵件和名稱。您不需要通過域模型來執行此操作。如果您在命令端沒有可用的數據,則通過服務從讀取端收集數據時看不到什麼大問題。我不會從領域模型做到這一點。

0

由於您的域是暫時的,而不是您的已讀模型,因此您無法從您的域訪問已讀模型。你需要有在命令執行時獲取的電子郵件列表:)

你可以或者在觸發郵件的命令中包含管理員的電子郵件列表,然後將它作爲事件持續存在,或者你可以讓你的域實體實例化其他域實體,它將獲得列表管理郵件。

希望得到這個幫助。

+0

我想我試圖在錯誤的地方做到這一點。我將從命令處理程序發送的電子郵件移動到denormalizer中。那裏沒有錯? – iwayneo

0

假設你的命令是投擲項目...

對我來說,正確的方式去了解這將是有一個單獨的事件處理程序來捕捉命令的事件並觸發電子郵件的發送。您的事件處理程序將查詢現有的讀取模型以獲取管理員列表。

讓事情變得簡單,因爲您的命令處理程序不需要知道需要通過電子郵件發送給管理員。

你可以去的概念極端有這個一個獨立的系統,也可以用來處理您的管理員創建/刪除的事件,在一個特定的讀取模式存儲純粹持有管理員列表發送電子郵件至。

相關問題