Junior — Middle
¿Se puede explicar qué es la inyección de dependencias y cómo se aplica en programación?
sobes.tech AI
Respuesta de la IA
La inyección de dependencias (Dependency Injection, DI) es un patrón de diseño en el que un objeto recibe sus dependencias (por ejemplo, otros objetos o servicios) desde fuera, en lugar de crearlas por sí mismo. Esto ayuda a hacer el código más modular, testeable y flexible.
En programación, esto generalmente se implementa mediante la transmisión de dependencias en el constructor de la clase, mediante setters o a través de interfaces. Por ejemplo, en Android, a menudo se utilizan bibliotecas DI (Dagger, Hilt) que crean y transmiten automáticamente los objetos necesarios.
Ejemplo en Kotlin:
class Engine {
fun start() = println("Motor encendido")
}
class Car(private val engine: Engine) {
fun drive() {
engine.start()
println("El coche está conduciendo")
}
}
fun main() {
val engine = Engine() // creamos la dependencia
val car = Car(engine) // inyectamos la dependencia
car.drive()
}
Aquí, Car no crea Engine por sí mismo, sino que lo recibe desde fuera, lo que facilita reemplazar o probar Engine.