Sobes.tech
Junior — Middle

Como é que o Router obtém as dependências necessárias para criar o ViewModel?

sobes.tech IA

Resposta da IA

O router geralmente obtém dependências para criar o ViewModel através da injeção de dependências. Isto pode ser:

  • Passar os serviços ou repositórios necessários para o inicializador do router.
  • Utilizar fábricas ou contêineres de dependências que fornecem os objetos necessários.

Assim, o router recolhe todos os componentes necessários e cria o ViewModel, garantindo um baixo acoplamento e facilidade de teste.

Exemplo:

class Router {
    let service: DataService

    init(service: DataService) {
        self.service = service
    }

    func createViewModel() -> ViewModel {
        return ViewModel(service: service)
    }
}