2011-07-20 78 views
2

我剛剛閱讀了以下cqrs article。這很有道理,但沒有回答我最初研究的問題。忽略這樣做是否合理的問題,CQRS創建新記錄的方法是什麼?在文章中他們有這樣的形象: The formCQRS,WPF,表格填充

他們表明,基於DTO的會讓你改變狀態字段,基於任務的將有一個標籤爲「停用」的任務按鈕。

現在,想象這裏的工作不僅僅是停用產品,而是創建一個新的產品。您必須填寫所有字段,處理驗證問題。這在CQRS世界中如何工作?

我開始得出結論,在我的WPF世界中,我的ViewModel/View將像往常一樣運行,包含驗證等等,但CQRS Add動詞方法會像Add(DTO)那樣簡單DTO基本上是一個DTO ...

回答

3

你可以看看Udi Dahan's MSDN article他在哪裏談論這些問題。

我的基本要求是發送創建消息,並且該對象有效或無效,並且如果需要,您可以稍後讓用戶知道問題。

+0

好東西,謝謝!這有點奇怪,因爲我擁有WPF提供的豐富UI,所有伴隨的可能性用於驗證和格式化等等。但在這種情況下,我仍然覺得我還在使用DTO。謝謝 – Ian

+0

鏈接被破壞... – Jack

1

它可能沒有太多不同於「停用」的情況。唯一的區別(除了你現在對可能不同的字段有不同的命令這一事實),你仍然希望在命令處理器上執行驗證,因爲它不能保證它得到的數據總是來自可靠的消息來源。