5

内部ロジックを処理した後、データを更新するために他のシステムにイベントを発行する Web CRUD アプリケーションを作成しています。

私は CQRS を実装する最初のステップにいますが、「保存」ボタンが 1 つしかないフォームで、ユーザーの考えられるすべての意図に対して特定のコマンドを作成する必要があるのは奇妙に思えます。これは、私の要件では必要ないが、それにサブスクライブする今後のプロジェクトで必要なインテントをキャプチャするための (プロパティまたは値オブジェクトごとに) 多くのコマンドを意味します。私は、境界のあるコンテキストが必要とすることだけを行うのが好きです。

考慮すべきもう 1 つのこと: セッションを使用して、データが変更されたかどうかを比較する必要があります。保存後にデータを偽造すると、UI に誤ったデータが表示される同時実行状況が隠されます。

編集: Greg Young が、一部の画面は単なる CRUD であり、デフォルトの動作として更新を行うことに問題はないと示唆しているこのスレッドを見つけました。

4

1 に答える 1

6

なぜ CQRS を使用したいのですか? すべてのケースでうまくいくわけではありません。

具体的には、CRUD を使用している場合、CQRS を試す理由がまったくない可能性があります。うまくフィットしません。ユーザーの意図が UI 側で明示的にキャプチャされ、意味のあるコマンド ( FieldNameUpdatedではなく、 CustomerRelocatedToNewAddress または CustomerAddressCorrected ) でサーバーに渡される場合、CQRS は設計から多くの利益を得ます。これには、設計でドメイン駆動設計の方法論を使用する必要があります)。

于 2010-11-20T11:40:59.943 に答える