Sobes.tech
Junior — Middle

Кадом усулҳои ҳамгироӣ ва ворид кардани вобастагиро дар модулҳои нармафзор вуҷуд доранд?

sobes.tech AI

Ҷавоб аз AI

Дар iOS барои ҳамгироӣ ва ворид кардани вобастагиҳо чанд усул истифода мешавад:

  1. Конструктор (инициализатор) — вобастагиҳо тавассути параметрҳои инициализатори синф гузошта мешаванд.

  2. Хусусиятҳо (инжексияи хусусиятҳо) — вобастагиҳо пас аз сохтани объект тавассути хусусиятҳо муқаррар мешаванд.

  3. Ҷойгоҳи хидматҳо — объект вобастагиҳоро аз хидмати марказӣ талаб мекунад.

  4. Истифодаи рамзҳои DI — масалан, Swinject, ки автоматӣ ворид кардани вобастагиҳоро анҷом медиҳанд.

Масали ворид кардан тавассути инициализатор:

class NetworkManager {
    // ...
}

class ViewModel {
    let networkManager: NetworkManager

    init(networkManager: NetworkManager) {
        self.networkManager = networkManager
    }
}

ҳамворсозии вобастагиҳо:

let networkManager = NetworkManager()
let viewModel = ViewModel(networkManager: networkManager)

Интихоби усул вобаста ба мураккабии лоиҳа ва талабот ба тестсозӣ ва модулсозӣ мебошад.