日々精進

新しく学んだことを書き留めていきます

オブジェクト指向のこころ7

設計原則について
・開放/閉鎖原則
クラスを修正せずに機能の追加が行えるように設計せよということ。
インターフェースを使って設計すればこれが可能になる。
詳しくはBertrand Meyerの名著【楽天ブックスならいつでも送料無料】オブジェクト指向入門第2版 [ バートランド・メイヤー ]を読むこと。
・依存性の逆転原則
抽象は実装に依存してはならない。実装が抽象に依存すべきである。
より具体的にいうと、抽象クラス内やクライアントクラス内で抽象クラスで定義されていない具象クラスのメソッドを直接呼んではいけないということ。
抽象クラスのメソッドをオーバーライドしたメソッドなら可。
・リスコフの置換原則
子クラスは親クラスと完全に置換可能でなければならない。
・流動的要素のカプセル化
流動的要素が明確に結合している場合以外はクラス内に複数流動性を持たせてはならない。
流動的要素の間の結合を切り離し、流動性を隠蔽することで変化に強く簡潔なプログラムを作成できる。