コマンドとクエリの分離原則
オブジェクトのメソッドを、以下の 2 つに明確に分離する
クエリ : 結果を返す。 システムの観測可能な状態を変更してはならない
コマンド : システムの状態を変更する。 結果を返してはならない
上記を区別することで、「クエリはどこででも安全に使える」、「コマンドを使う際には注意が必要」 という使い分けができる
例外として、キューから値を取り出すような操作はある
Meyer はそれすら回避できると言っているが、Martin Fowler はキューから値を取り出す操作は便利なので使っていく思想 参考文献