Sobes.tech
Middle

Quali metodi di injection delle dipendenze conosci?

sobes.tech AI

Risposta dell'AI

  • Iniezione tramite inizializzatore (Initializer Injection)
  • Proprietà/Setter (Property/Setter Injection)
  • Metodo (Method Injection)
// Iniezione tramite inizializzatore (Initializer Injection)
class MyClass {  
    let dependency: Dependency  

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

// Uso del setter  
let instance = MyClass()  
instance.dependency = concreteDependency  
// Metodo (Method Injection)  
class MyClass {  
    func performAction(with dependency: Dependency) {  
        //... usare dependency ...  
    }  
}  

L'iniezione tramite inizializzatore è il metodo più comune e raccomandato, poiché garantisce che la dipendenza sia presente al momento della creazione dell'oggetto. La proprietà viene usata quando la dipendenza è opzionale o non nota al momento dell'inizializzazione. Il metodo viene applicato quando la dipendenza è necessaria solo per un metodo specifico.