我開始了我的第一個真正的CQRS設置。我正在構建網站的用戶註冊部分,對於來自標準DDD「風格」的域名和寫入方面我非常熟悉。對於讀取模型,我有一個處理AccountCreatedEvent的denormalizer。CQRS第一NF閱讀模型 - 你是否允許重複?
現在 - 對於我正在實施的功能,我只想讓用戶註冊。這涉及檢查電子郵件地址/用戶名的唯一性。
所以,說我專門爲此設計了一個閱讀模型。一個AccountRegistrationReadModel,它只保存我現在感興趣的數據部分:用戶名,電子郵件,HashedPassword
後來,當我開始構建用戶配置文件頁面時,我需要一個AccountProfileReadModel。
該讀模式將共享一些相同的屬性,將有另一種解歸其處理與不斷變化的配置文件數據的事件,也許例如AccountUsernameChangedEvent
此時AccountRegistrationReadModel和AccountProfileReadModel有興趣聽AccountUsernameChangedEvent消息。
我的問題是:這種方法是否正確?我應該保持每個功能的讀取模型?還是應該嘗試對其進行標準化並重新使用數據,並儘可能限制重複?
+1 - 正常化會導致脆性...絕對同意。 –