Junior — Middle
Можете ли објаснити концепт убризгавања зависности и зашто је то потребно у програмирању?
sobes.tech АИ
Одговор од АИ
Уметање зависности (Dependency Injection, DI) је образац дизајна који омогућава пренос потребних зависности објектима изван њих, уместо да их креирају унутар самих објеката. Ово повећава модуларност, олакшава тестирање и одржавање кода.
На пример, у iOS апликацији, имате класу ViewController која зависи од сервиса NetworkService. Уместо да креирате NetworkService унутар ViewController, преносите га кроз конструктор или својство:
class NetworkService {
func fetchData() { /* ... */ }
}
class ViewController {
let networkService: NetworkService
init(networkService: NetworkService) {
self.networkService = networkService
}
func loadData() {
networkService.fetchData()
}
}
// Коришћење:
let service = NetworkService()
let vc = ViewController(networkService: service)
Овај приступ омогућава лаку замену NetworkService са моком током тестирања и побољшава флексибилност архитектуре.