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.