Kurz erklärt
Das Dependency-Inversion-Prinzip (DIP) besagt: Module hoher Ebene sollen nicht von Modulen niedriger Ebene abhängen, beide hängen von Abstraktionen ab.
Genauer
Das „D“ in SOLID. Abhängigkeiten zeigen auf Schnittstellen, nicht auf konkrete Klassen.