Obwohl sie oft verwechselt werden:
- Dependency Inversion ist ein Designprinzip (was du tun solltest)
- Dependency Injection ist ein Entwurfsmuster bzw. eine Technik (wie du es umsetzen kannst)
Das Dependency Inversion Prinzip sagt, dass Klassen von Abstraktionen abhängen sollen. Dependency Injection ist ein Weg, um diese Abhängigkeiten zur Laufzeit bereitzustellen – z. B. über Konstruktoren, Setter oder Service Container.