Sobes.tech
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)
    }
}