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)
}
}