Sobes.tech
Middle

Jaké způsoby zavádění závislostí znáš?

sobes.tech AI

Odpověď od AI

  • Injektáž pomocí inicializátoru (Initializer Injection)
  • Vlastnost/Setter (Property/Setter Injection)
  • Metoda (Method Injection)
// Injektáž pomocí inicializátoru (Initializer Injection)
class MyClass {  
    let dependency: Dependency  

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

// Použití setteru  
let instance = MyClass()  
instance.dependency = concreteDependency  
// Metoda (Method Injection)  
class MyClass {  
    func performAction(with dependency: Dependency) {  
        //... použít dependency ...  
    }  
}  

Injektáž pomocí inicializátoru je nejběžnější a doporučená metoda, protože zajišťuje, že závislost je přítomna při vytváření objektu. Vlastnost se používá, když je závislost volitelná nebo není známa v okamžiku inicializace. Metoda se používá, když je závislost potřebná pouze pro konkrétní metodu.