Sobes.tech
Junior — Middle

Pode explicar o que é a injeção de dependências e como ela é aplicada na programação?

sobes.tech IA

Resposta da IA

Injeção de dependências (Dependency Injection, DI) é um padrão de projeto em que um objeto recebe suas dependências (por exemplo, outros objetos ou serviços) de fora, em vez de criá-las por si próprio. Isso ajuda a tornar o código mais modular, testável e flexível.

Na programação, isso geralmente é implementado através do envio de dependências no construtor da classe, setters ou interfaces. Por exemplo, no Android, frequentemente usam-se bibliotecas DI (Dagger, Hilt) que criam e enviam automaticamente os objetos necessários.

Exemplo em Kotlin:

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

class Car(private val engine: Engine) {
    fun drive() {
        engine.start()
        println("Carro a conduzir")
    }
}

fun main() {
    val engine = Engine() // cria a dependência
    val car = Car(engine) // injeta a dependência
    car.drive()
}

Aqui, Car não cria Engine por si só, mas recebe-o de fora, o que facilita a substituição ou teste do Engine.