Junior — Middle
Môžete vysvetliť koncept injektáže závislostí a prečo je potrebný v programovaní?
sobes.tech AI
Odpoveď od AI
Vstrekovanie závislostí (Dependency Injection, DI) je návrhový vzor, ktorý umožňuje odovzdávať objektom potrebné závislosti zvonku, namiesto ich vytvárania vo vnútri samotných objektov. To zvyšuje modularitu, uľahčuje testovanie a údržbu kódu.
Napríklad v iOS aplikácii máte triedu ViewController, ktorá závisí od služby NetworkService. Namiesto toho, aby ste NetworkService vytvárali vo vnútri ViewController, ho odovzdáte cez konštruktor alebo vlastnosť:
class NetworkService {
func fetchData() { /* ... */ }
}
class ViewController {
let networkService: NetworkService
init(networkService: NetworkService) {
self.networkService = networkService
}
func loadData() {
networkService.fetchData()
}
}
// Použitie:
let service = NetworkService()
let vc = ViewController(networkService: service)
Tento prístup umožňuje ľahko nahradiť NetworkService za mock objekt počas testovania a zlepšuje flexibilitu architektúry.