Middle
Кои методи за внедряване на зависимости познаваш?
sobes.tech AI
Отговор от AI
- Инициализатор (Initializer Injection)
- Свойство/Setter (Property/Setter Injection)
- Метод (Method Injection)
// Инициализатор (Initializer Injection)
class MyClass {
let dependency: Dependency
init(dependency: Dependency) {
self.dependency = dependency
}
}
// Свойство/Setter (Property/Setter Injection)
class MyClass {
var dependency: Dependency?
}
// Използване на сетъра
let instance = MyClass()
instance.dependency = concreteDependency
// Метод (Method Injection)
class MyClass {
func performAction(with dependency: Dependency) {
//... използване на dependency ...
}
}
Инициализаторът е най-разпространеният и препоръчителен начин, тъй като гарантира, че зависимостта е налична при създаването на обекта. Свойството се използва, когато зависимостта е опционална или не е известна в момента на инициализация. Методът се прилага, когато зависимостта е необходима само за конкретен метод.