CQRS についての私の見解は、厳密に従うとコマンドは何も返さない (戻り値の型は void) ため、私の例は非常に単純です。何かを作成するときに ID を取得するにはどうすればよいでしょうか。
たとえば、クレジットカード取引を作成する場合、取引 ID を返すことが非常に重要であると思われます。また、顧客を作成する場合、作成した顧客または顧客 ID が返されれば、ブラウザが顧客ページに自動的に移動できるようになるので、はるかに簡単になります。
1 つの解決策としては、最初に ID を要求し、次にその ID を使用して顧客またはトランザクションを作成することが考えられますが、かなり奇妙に思えます。
これについて経験のある方、または最も効果的な方法を知っている方はいらっしゃいますか? 何か誤解しているのでしょうか?
ベストアンサー1
CQRS はファイア アンド フォーゲットが基本であり、GUID は非常に信頼性が高い (衝突のリスクが低い) ため、自分で生成した GUID を送信しても問題はありません。
基本的な手順は次のようになります。
- コマンドを作成する
- ID(GUID)を生成して割り当てます
- コマンドを実行する
- 以前に生成されたIDを返す
詳細はこちらWikipedia の GUID