Sobes.tech
Junior — Middle

Explique o conceito de injeção de dependências e como é aplicado na programação?

sobes.tech IA

Resposta da IA

A injeção de dependências (Dependency Injection, DI) é um padrão de projeto em que um objeto recebe as suas dependências de fora, em vez de as criar por si próprio. Isto aumenta a modularidade, simplifica os testes e melhora a manutenção do código.

Na programação iOS, a DI é frequentemente implementada através da passagem de dependências no construtor da classe ou através de propriedades. Por exemplo, se tiver uma classe ViewController que depende de um serviço NetworkService, pode passar este serviço no inicializador:

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)

Esta abordagem permite substituir facilmente o NetworkService por um objeto simulado durante os testes, além de melhorar a legibilidade e a manutenção do código.