設計の原則に関するメモ (日経ソフトウェア「オブジェクト指向設計の考え方」のメモ and 自分なりの考え) 1.クラスの設計原則 1.1.単一責任の原則 クラスを変更する理由は1つだけ。 「Aという変更、Bという変更、そして、Cという変更をしたい時は、XXXクラスを変更する。」という作りの場合は、3つのクラスに分ける。 クラスの変更理由が複数あると、そのクラスの変更頻度が多くなってしまう。 また、間違った変更をしてしまった場合に、影響を受ける範囲(メソッドとか変数とか)が広くなってしまう。 1つづつに分けておけば、影響範囲を狭くできる。 1.2.開放/閉鎖原則 拡張に対して開いていて、修正に対しては閉じている。 1.3.Liskovの置換原則 サブクラスはスーパークラスと置換可能。 ポリモーフィズムを利用する。 1.4.依存関係逆転の原則 上位モジュールは下位モ