はじめに CQRSの実現方法について記載されている.NETのエンタープライズアプリケーションアーキテクチャ: .NETを例にしたアプリケーション設計原則にてコマンドバスを用いてコマンドを管理したほうが良い、という旨が記載されているのですがあんまり必要性を感じられず以下のような実装を行っていました。 (EventStoreを用いたCQRS+イベントソーシングの実践と考察で考えた業務知識を例にして) 必要ないと感じる理由としては書き込み先(EventStoreとかRDBMSとか)に対して送信する際、イベントベースではなく状態ベースで送信しているからかなと。 状態ベース 集約に対して複数の変更があってもひとつのコマンド内で全部処理し、最後に書き込み先に一回だけ送信する。(永続指向のリポジトリ) イベントベース 集約に対して複数の変更があった場合、複数のコマンドを発行し、逐次書き込み先に送信する。
![CQRSのコマンドはやっぱりコマンドバスを介したほうが良いと思った話 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/f3b1270a6afaf8ba476f8c318032087053b68313/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9Q1FSUyVFMyU4MSVBRSVFMyU4MiVCMyVFMyU4MyU5RSVFMyU4MyVCMyVFMyU4MyU4OSVFMyU4MSVBRiVFMyU4MiU4NCVFMyU4MSVBMyVFMyU4MSVCMSVFMyU4MiU4QSVFMyU4MiVCMyVFMyU4MyU5RSVFMyU4MyVCMyVFMyU4MyU4OSVFMyU4MyU5MCVFMyU4MiVCOSVFMyU4MiU5MiVFNCVCQiU4QiVFMyU4MSU5NyVFMyU4MSU5RiVFMyU4MSVCQiVFMyU4MSU4NiVFMyU4MSU4QyVFOCU4OSVBRiVFMyU4MSU4NCVFMyU4MSVBOCVFNiU4MCU5RCVFMyU4MSVBMyVFMyU4MSU5RiVFOCVBOSVCMSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9MThlMTJmZjE5OTczOWNlNDMzYWM4ZWNkZmQwYTVkNTE%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBrd2hya3prJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz04NWFkZjFiMzRhZTEyNGFlYjI3NDk4MGEwMmRhODdkMg%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D69177ca94a02dc0d3a06c99f6bab1c2b)