1
我正在使用CQRS構建一個新項目,這是一個3層應用程序,並且期望客戶端狀態是同步的。服務器接收命令和回調事件給客戶端。CQRS客戶端命令管理
目前,該模型有幾個子模型,可以添加/刪除/更新,其中每個都有自己的命令。事件是特定領域即
- UpdateItemCommand
- CreateSubItemCommand
- RemoveSubItemCommand
- UpdateSubItemCommand
- ...
- ItemFieldAUpdatedEvent
- SubItemFieldAUpdatedEvent
- SubItemFieldBUpdatedEvent
- ...
因此,這裏是我的審訊,客戶獲取模型,用戶編輯的局部模型的當前狀態,單擊保存按鈕,這是我的錯誤。我應該
- 比較模型的原始狀態(更新與接收到的事件)和模型的編輯狀態,生成一組命令(在它需要識別已更新領域的每一個接收到的事件和通知用戶,如果他編輯的改變)字段,
- 創建的用戶正在編輯的模型做的和撤消編輯命令(這將是難以管理),
- ...
基本上我不知道我應該採用哪種策略來生成命令!
有沒有一個例子,我谷歌周圍,但發現注意到這個問題。
感謝,
多米尼克
我建議您閱讀有關基於任務的UI:http://cqrs.wordpress.com/documents/task-based-ui/ – Mequrel
嗨Mequrel,首先感謝您花時間瞭解問題並給予相關答案。我不知道這個概念,是的,這似乎是一個很好的解決方案。但是,UI設計已由客戶端指定,而不是基於任務的UI兼容。我會嘗試向我的客戶提出這個UI設計。我沒有通過CQRS限制在UI方面。再次感謝您的燈光! –
嗨Mequrel,你可以複製粘貼評論作爲答案,所以我可以把它標記爲回答?,謝謝 –