2014-12-30 67 views
0

如果我正在使用CQRS原則將應用程序拆分爲讀寫方面,您將如何處理具有「動態」讀取模型場景的情況?例如。我有一個由多個讀取屬性(id,title,slug等)組成的產品,但爲了向用戶顯示它,我需要傳遞由域服務計算的價格(我通過訪問者國家和貨幣)。我不能在數據庫中存儲這個價格,因爲用戶隨時可以隨時改變他的貨幣,他希望價格隨時變化。所以我的最終產品視圖模型應該基本上是原始SQL列(id,title,slug)和計算價格的組合。我應該使用與數據庫相同的視圖模型並使用內容豐富模式,還是應該爲我的組合創建新的視圖模型?動態視圖模型

回答

0

更改產品的價格是一個COMMAND,它應該更新您存儲在數據庫中的價格,然後您可以隨時查詢。

CQRS的本質是你的查詢沒有像這樣的邏輯。

對於貨幣換算,既然您說用戶可以隨時更改貨幣,那麼您應該查詢整個貨幣匯率列表,並在客戶端自己進行計算。或者,您可以查詢基準價格,然後查詢當前的價格。如果用戶更改貨幣,則只需再次查詢費率,但保持相同的基準價格。

相關問題