Junior — Middle
Pode explicar o conceito de injeção de dependências e por que ela é necessária na programação?
sobes.tech IA
Resposta da IA
Injeção de dependências (Dependency Injection, DI) é um padrão de projeto que permite passar as dependências necessárias aos objetos de fora, em vez de as criarem dentro dos próprios objetos. Isto aumenta a modularidade, facilita os testes e a manutenção do código.
Por exemplo, numa aplicação iOS, tem uma classe ViewController que depende do serviço NetworkService. Em vez de criar o NetworkService dentro do ViewController, você passa-o através do construtor ou de uma propriedade:
class NetworkService {
func fetchData() { /* ... */ }
}
class ViewController {
let networkService: NetworkService
init(networkService: NetworkService) {
self.networkService = networkService
}
func loadData() {
networkService.fetchData()
}
}
// Uso:
let service = NetworkService()
let vc = ViewController(networkService: service)
Este método permite substituir facilmente o NetworkService por um objeto simulado durante os testes e melhora a flexibilidade da arquitetura.