Back to questions
Middle
134
questionbank
Какие способы внедрения зависимостей ты знаешь?
Sobes Copilot
Get answers in real time
Answer from AI
sobes.tech AI
- Инициализатор (Initializer Injection)
- Свойство/Сеттер (Property/Setter Injection)
- Метод (Method Injection)
// Инициализатор (Initializer Injection)
class MyClass {
let dependency: Dependency
init(dependency: Dependency) {
self.dependency = dependency
}
}
// Свойство/Сеттер (Property/Setter Injection)
class MyClass {
var dependency: Dependency?
}
// Использование сеттера
let instance = MyClass()
instance.dependency = concreteDependency
// Метод (Method Injection)
class MyClass {
func performAction(with dependency: Dependency) {
//... использовать dependency ...
}
}
Инициализатор — самый распространенный и рекомендуемый способ, так как гарантирует, что зависимость присутствует при создании объекта. Свойство используется, когда зависимость опциональна или не известна на момент инициализации. Метод применяется, когда зависимость нужна только для конкретного метода.