CQRS(Command and Query Responsibility Segregation)とは
データの読取と、更新操作をするモデルを分離するという、プログラムの構造を指します。
一般的なCRUDでは、一つのモデルでデータに対する操作を行いますが、
これを機能ごとに分けることで、パフォーマンスやセキュリティを向上させる狙いがあります。
読取操作をクエリ
更新操作をコマンド
と考えます。
クエリは、取得のみでシステムの状態を変更しない(副作用なし)
コマンドは、システムの状態を変更 取得はしない
基本的にはオブジェクト指向の考え方なのですが、
それをアーキテクチャに適用したというイメージです。