Sobes.tech
Junior — Middle

È possibile spiegare cos'è l'iniezione delle dipendenze e come viene applicata nella programmazione?

sobes.tech AI

Risposta dell'AI

L'iniezione delle dipendenze (Dependency Injection, DI) è un pattern di progettazione in cui un oggetto riceve le sue dipendenze (ad esempio, altri oggetti o servizi) dall'esterno, anziché crearle da solo. Questo aiuta a rendere il codice più modulare, testabile e flessibile.

In programmazione, questo si realizza generalmente tramite il passaggio delle dipendenze nel costruttore della classe, tramite setter o attraverso interfacce. Ad esempio, in Android, si usano spesso librerie DI (Dagger, Hilt) che creano e passano automaticamente gli oggetti necessari.

Esempio in Kotlin:

class Engine {
    fun start() = println("Motore avviato")
}

class Car(private val engine: Engine) {
    fun drive() {
        engine.start()
        println("L'auto sta guidando")
    }
}

fun main() {
    val engine = Engine() // crea la dipendenza
    val car = Car(engine) // inietta la dipendenza
    car.drive()
}

Qui, Car non crea Engine da solo, ma lo riceve dall'esterno, facilitando la sostituzione o il testing di Engine.