第11章 DIP: 依存関係逆転の原則

SOLID原則のうちの D DIP

ソースコードの依存関係が具象ではなく、抽象だけを参照しているもの
Javaのような言語なら、use,import,includeで指定する参照先をインターフェースや抽象クラスなどの抽象宣言だけを含むソースモジュールに限定するということ
依存したくないのは、OSやプラットフォーム周りの変化しない具象ではなく、システム内の変化しやすい具象

安定したソフトウェアアーキテクチャは変化しやすい具象への依存を避け、安定した抽象インターフェイスに依存すべき
これをコーディングレベルのプラクティスにまとめると

感想

大学の授業で、結構Abstractを書かされて、それを具象化して実装ということをやったけど、
その度に、これは別に親クラスを継承して、オーバーライドすればよくないと思っていた
(抽象クラスを作ると無駄に手間がかかるし)
この章を読むと、授業だと一回きりのコード(ある意味変化しないコード)になるからあんまり恩恵を受けなかったのかと今更ながらに理解した