Junior — Middle
Můžete vysvětlit koncept injektáže závislostí a proč je v programování potřeba?
sobes.tech AI
Odpověď od AI
Vstřikování závislostí (Dependency Injection, DI) je návrhový vzor, který umožňuje předat objektem potřebné závislosti zvenčí, místo toho, aby je vytvářely uvnitř samotných objektů. To zvyšuje modularitu, usnadňuje testování a údržbu kódu.
Například v iOS aplikaci máte třídu ViewController, která závisí na službě NetworkService. Místo toho, abyste NetworkService vytvářeli uvnitř ViewController, předáte ji přes konstruktor nebo vlastnost:
class NetworkService {
func fetchData() { /* ... */ }
}
class ViewController {
let networkService: NetworkService
init(networkService: NetworkService) {
self.networkService = networkService
}
func loadData() {
networkService.fetchData()
}
}
// Použití:
let service = NetworkService()
let vc = ViewController(networkService: service)
Tento přístup umožňuje snadno nahradit NetworkService mock objektem při testování a zlepšuje flexibilitu architektury.