Sobes.tech
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.