Sobes.tech
Junior — Middle

Kann man erklären, was Dependency Injection ist und wie es in der Programmierung angewendet wird?

sobes.tech KI

Antwort von AI

Abhängigkeitsinjektion (Dependency Injection, DI) ist ein Entwurfsmuster, bei dem ein Objekt seine Abhängigkeiten (z.B. andere Objekte oder Dienste) von außen erhält, anstatt sie selbst zu erstellen. Dies hilft, den Code modularer, testbarer und flexibler zu machen.

In der Programmierung wird dies meist durch die Übergabe der Abhängigkeiten im Konstruktor der Klasse, über Setter oder durch Schnittstellen realisiert. Zum Beispiel verwenden Android-Entwickler oft DI-Bibliotheken (Dagger, Hilt), die die benötigten Objekte automatisch erstellen und übergeben.

Beispiel in Kotlin:

class Engine {
    fun start() = println("Motor gestartet")
}

class Car(private val engine: Engine) {
    fun drive() {
        engine.start()
        println("Auto fährt")
    }
}

fun main() {
    val engine = Engine() // Abhängigkeit erstellen
    val car = Car(engine) // Abhängigkeit injizieren
    car.drive()
}

Hier erstellt Car Engine nicht selbst, sondern erhält es von außen, was das Ersetzen oder Testen von Engine erleichtert.