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.