Sobes.tech
Junior — Middle

Que métodos utilizas para implementar a injeção de dependências nos teus projetos?

sobes.tech IA

Resposta da IA

Nos projetos iOS, a implementação de dependências (Injeção de Dependências, DI) é geralmente realizada das seguintes formas:

  • Construtor (Injeção por Construtor) — as dependências são passadas através do construtor da classe. É a forma mais explícita e segura, facilitando os testes.
class NetworkManager {}

class ViewModel {
    let networkManager: NetworkManager

    init(networkManager: NetworkManager) {
        self.networkManager = networkManager
    }
}
  • Propriedades (Injeção por Propriedades) — as dependências são definidas através de propriedades após a criação do objeto. Usado quando as dependências são opcionais ou não podem ser passadas no construtor.
class ViewController: UIViewController {
    var viewModel: ViewModel?
}
  • Método (Injeção por Método) — as dependências são passadas através dos parâmetros do método, quando são necessárias apenas para uma chamada específica.

  • Uso de frameworks DI — por exemplo, Swinject, que ajuda a gerenciar dependências através de contêineres.

A escolha do método depende da arquitetura do projeto e dos requisitos de testabilidade e flexibilidade.