ソフトウェアに柔軟性をもたらすために重要なのは、依存関係を制御すること!
public class ObjectA {
private ObjectB objectB;
}
ObjectAにおいてObjectBを参照しているため、 ObjectBが存在しない限り、ObjectAは成立しない
(例)
抽象型を利用すると、今まで具象型に向いていた依存の矢印が抽象型に向くようになる
<aside> 💡 抽象に依存させることで依存関係を逆転させること
</aside>
伝統的な開発手法では、抽象が詳細に依存していた。