Junior — Middle
Vysvetlite koncept injektáže závislostí a ako sa uplatňuje v programovaní.
sobes.tech AI
Odpoveď od AI
Vkladanie závislostí (Dependency Injection, DI) je návrhový vzor, pri ktorom objekt dostáva svoje závislosti zvonku, namiesto toho, aby si ich sám vytváral. To zvyšuje modularitu, zjednodušuje testovanie a zlepšuje údržbu kódu.
V iOS programovaní sa DI často realizuje prostredníctvom odovzdávania závislostí do konštruktora triedy alebo prostredníctvom vlastností. Napríklad, ak máte triedu ViewController, ktorá závisí od služby NetworkService, môžete túto službu odovzdať v konštruktore:
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 pri testovaní a zlepšuje čitateľnosť a údržbu kódu.