Sobes.tech
Middle

Que métodos de injeção de dependências conheces?

sobes.tech IA

Resposta da IA

  • Injeção por inicializador (Initializer Injection)
  • Propriedade/Setter (Property/Setter Injection)
  • Método (Method Injection)
// Injeção por inicializador (Initializer Injection)
class MyClass {  
    let dependency: Dependency  

    init(dependency: Dependency) {  
        self.dependency = dependency  
    }  
}  
// Propriedade/Setter (Property/Setter Injection)  
class MyClass {  
    var dependency: Dependency?  
}  

// Uso do setter  
let instance = MyClass()  
instance.dependency = concreteDependency  
// Método (Method Injection)  
class MyClass {  
    func performAction(with dependency: Dependency) {  
        //... usar dependency ...  
    }  
}  

A injeção por inicializador é o método mais comum e recomendado, pois garante que a dependência esteja presente ao criar o objeto. A propriedade é usada quando a dependência é opcional ou desconhecida no momento da inicialização. O método é aplicado quando a dependência só é necessária para um método específico.