Sobes.tech
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-ро ба осонӣ бо объектҳои мок дар вақти санҷиш иваз кардан мумкин аст ва сохторро чандиртар месозад.