Sobes.tech
Middle

Milyen függőség-injektálási módszereket ismersz?

sobes.tech MI

Válasz az MI-től

  • Inicializátor injekció (Initializer Injection)
  • Tulajdonság/Setter (Property/Setter Injection)
  • Módszer (Method Injection)
// Inicializátor injekció (Initializer Injection)
class MyClass {  
    let dependency: Dependency  

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

// Setter használata  
let instance = MyClass()  
instance.dependency = concreteDependency  
// Módszer (Method Injection)  
class MyClass {  
    func performAction(with dependency: Dependency) {  
        //... dependency használata ...  
    }  
}  

Az inicializátor injekció a leggyakoribb és ajánlott módszer, mivel garantálja, hogy a függőség jelen van az objektum létrehozásakor. A tulajdonság akkor használható, ha a függőség opcionális vagy nem ismert az inicializálás pillanatában. A módszer akkor alkalmazható, amikor a függőség csak egy adott módszerhez szükséges.