質問

レガシーシステムをサポートするには、ユーザーがログインするたびにテーブルに挿入する必要があります。これは基本的にCRUD操作であるため、リポジトリ/エンティティ/コマンド/イベントを作成することは本当に意味がありません。これは、これがビジネスルールにまったく結びついていないためです。 CQRSコマンドを作成する唯一の利点は、このモデルの下でこのデータベース書き込みが非同期に発生する可能性があることです。どちらがより良いルートですか?

  • CQRSを使用してから、保存されたProcを呼び出します。そのコマンドを処理するときは?
  • コントローラーで直接データベースを呼び出すだけです(ASP.NET MVCを使用しています)
役に立ちましたか?

解決

再生のためにイベントを使用している(そして持続する)場合、イベントハンドラーの一部としてレガシーDBに書き込みをすることは理にかなっています(「ゲートウェイ」と考えてください)。将来このイベントを再生する必要がある場合は、レコードを再挿入しない偽のハンドラーに交換できます。

コントローラーは、実際には、HTTPリクエストの間の翻訳レイヤーとドメインのコマンドである必要があります。 DB(レガシー、非ドメインアクセスでさえ)に書くことは、そこにあまり意味がありません。イベントハンドラーにロジックを置くと、相互作用が非常に明確になります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top