Junior — Middle
Kako Router dobija potrebne zavisnosti za kreiranje ViewModel?
sobes.tech АИ
Одговор од АИ
Router obično dobija zavisnosti za kreiranje ViewModel putem injekcije zavisnosti. To može biti:
- Prosljeđivanje potrebnih servisa ili repozitorija u inicijalizator Router-a.
- Korišćenje fabrika ili kontejnera zavisnosti koji obezbeđuju potrebne objekte.
Na ovaj način, Router prikuplja sve potrebne komponente i kreira ViewModel, obezbeđujući slabu povezanost i jednostavnost testiranja.
Primer:
class Router {
let service: DataService
init(service: DataService) {
self.service = service
}
func createViewModel() -> ViewModel {
return ViewModel(service: service)
}
}