Junior — Middle
Оё шумо метавонед консептии воридкунии вобастагиро шарҳ диҳед ва чаро он дар барномасозӣ зарур аст?
sobes.tech AI
Ҷавоб аз AI
Внедрение зависимостей (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-ро ба осонӣ бо объектҳои мок дар вақти санҷиш иваз кардан мумкин аст ва сохторро чандиртар месозад.