2

最初のCQRSアプリケーションを作成しようとしていますが、T(集約ルート)のコレクションにバインドされたグリッドを含む単純なビューを作成するのに問題があります。

私は広範囲にわたるグーグルを実行しましたが、CQRSを使用してこのリストのユーザーエクスペリエンスをモデル化するためのアイデアを見つけることができません。

1)1つのアイデアは、リストから各Tを作成、編集、および削除するコマンドを用意し、BindingListのカスタム実装を使用して、これらのアクションがいつ発生したかを知ることです。

2)別のオプションは、ユーザーが必要なすべての変更を行うのを待って、元の集約ルートと編集されたルートの違いを何らかの方法で分析し、これらの変更に対する一連のコマンドを一度に送信することです。

一番の問題は、Guidの代わりにIdentity列を使用していることです(したがって、クライアントは新しいTのIDを生成していません)。したがって、ユーザーが作成したばかりのモデルを削除することにした場合、クライアントのcreateコマンドが処理される前にサーバーで、削除するモデルをサーバーに指示するにはどうすればよいですか?

コマンドのバッチを送信するために、追加、削除、および編集されたアイテムを評価する方法を理解する必要があるため、2番目は非常に複雑に見えます。

考え?

4

1 に答える 1

2

CQRSを使用してCRUD(作成、読み取り、更新、削除)操作をモデル化する理由はありません。ペットプロジェクトや練習目的でもありません。CRUDの場合は、可能な限り簡単な方法で処理してください。

ユーザー管理、マスターデータ入力などの機能は、CQRSを使用すべきではない独自の境界コンテキストに属することがよくあります。

于 2013-01-15T07:26:33.207 に答える