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.