ソフトウェアの設計原則①:SOLIDの原則という記事で、変化に強いソフトウェアの代表的な特徴として以下をあげ、それを実現する、ソフトウェアの設計原則の一つ、SOLIDについて解説しました。 保守性が高いこと 修正箇所が局所化され、他の部分に影響しないこと(リスクの局所化)。 再利用性が高いこと ソフトウェアが部品化され、それを再利用することができる。 拡張性が高いこと ソフトウェアを構成する要素同士を疎結合することで、ソフトウェアを様々な実装で拡張することができる。 今回は、プログラミングにおける副作用を最小限に抑えることで保守性と再利用性を確保するための設計原則、コマンド・クエリ分離の原則(Command/Query Separation:CQS)について以下の観点で解説します。 プログラミングにおける副作用とは コマンド・クエリ分離の原則(CQS)とは コマンド・クエリ責務分離(CQR