Junior — Middle
Jakimi metodami realizujesz wstrzykiwanie zależności w swoich projektach?
sobes.tech AI
Odpowiedź od AI
W projektach iOS implementacja wstrzykiwania zależności (Dependency Injection, DI) zwykle realizowana jest w następujący sposób:
- Konstruktor (Constructor Injection) — zależności są przekazywane przez konstruktor klasy. Jest to najbardziej jawny i bezpieczny sposób, który ułatwia testowanie.
class NetworkManager {}
class ViewModel {
let networkManager: NetworkManager
init(networkManager: NetworkManager) {
self.networkManager = networkManager
}
}
- Właściwości (Property Injection) — zależności są ustawiane przez właściwości po utworzeniu obiektu. Używa się tego, gdy zależności są opcjonalne lub nie mogą być przekazane w konstruktorze.
class ViewController: UIViewController {
var viewModel: ViewModel?
}
-
Metoda (Method Injection) — zależności są przekazywane przez parametry metody, gdy są potrzebne tylko do konkretnego wywołania.
-
Użycie frameworków DI — np. Swinject, które pomagają zarządzać zależnościami przez kontenery.
Wybór metody zależy od architektury projektu oraz wymagań dotyczących testowalności i elastyczności.