Middle
Kokius priklausomybių įvedimo būdus žinai?
sobes.tech AI
Atsakymas iš AI
- Inicijuotojo injekcija (Initializer Injection)
- Savybė/Setter (Property/Setter Injection)
- Metodas (Method Injection)
// Inicijuotojo injekcija (Initializer Injection)
class MyClass {
let dependency: Dependency
init(dependency: Dependency) {
self.dependency = dependency
}
}
// Savybė/Setter (Property/Setter Injection)
class MyClass {
var dependency: Dependency?
}
// Naudojant setterį
let instance = MyClass()
instance.dependency = concreteDependency
// Metodas (Method Injection)
class MyClass {
func performAction(with dependency: Dependency) {
//... naudoti dependency ...
}
}
Inicijuotojo injekcija yra dažniausiai naudojamas ir rekomenduojamas būdas, nes užtikrina, kad priklausomybė bus prieinama kuriant objektą. Savybė naudojama, kai priklausomybė yra pasirenkama arba nežinoma inicializacijos metu. Metodas taikomas, kai priklausomybė reikalinga tik konkrečiam metodui.