§10 ISP: インターフェース分離の原則
- 必要としない機能をもつモジュールに依存しない
- どうしても必要な場合はインターフェースを間に挟む
§11 DIP: 依存関係逆転の原則
- ソースコードの依存関係が具象ではなく抽象を参照しているのが最も柔軟
- 安定した抽象に依存、変化しやすい具象に依存しない
- 変化しやすい具象を参照しない。参照したい場合には
AbstractFactory
パターンなどで直接参照を避ける - 変化しやすい具象クラスを継承しない
- クラス等の関係性の中で最も強い関係
- 具象メソッドをオーバーライドしない
- もとの依存は排除できない
- 変化しやすい具象を参照しない。参照したい場合には
- インターフェースと実装クラス、
AbstractFactory
とFactoryImpl
の地点にて依存関係(矢印の向き)が逆転するので依存関係逆転の原則