Junior — Middle
Кадом усулҳои ҳамгироӣ ва ворид кардани вобастагиро дар модулҳои нармафзор вуҷуд доранд?
sobes.tech AI
Ҷавоб аз AI
Дар iOS барои ҳамгироӣ ва ворид кардани вобастагиҳо чанд усул истифода мешавад:
-
Конструктор (инициализатор) — вобастагиҳо тавассути параметрҳои инициализатори синф гузошта мешаванд.
-
Хусусиятҳо (инжексияи хусусиятҳо) — вобастагиҳо пас аз сохтани объект тавассути хусусиятҳо муқаррар мешаванд.
-
Ҷойгоҳи хидматҳо — объект вобастагиҳоро аз хидмати марказӣ талаб мекунад.
-
Истифодаи рамзҳои DI — масалан, Swinject, ки автоматӣ ворид кардани вобастагиҳоро анҷом медиҳанд.
Масали ворид кардан тавассути инициализатор:
class NetworkManager {
// ...
}
class ViewModel {
let networkManager: NetworkManager
init(networkManager: NetworkManager) {
self.networkManager = networkManager
}
}
ҳамворсозии вобастагиҳо:
let networkManager = NetworkManager()
let viewModel = ViewModel(networkManager: networkManager)
Интихоби усул вобаста ба мураккабии лоиҳа ва талабот ба тестсозӣ ва модулсозӣ мебошад.