Junior — Middle
Para quem é destinada a função Router na arquitetura MVVM?
sobes.tech IA
Resposta da IA
Na arquitetura MVVM, o papel do Router geralmente não está diretamente relacionado ao Model, View ou ViewModel. O Router é responsável pela navegação entre as telas da aplicação, ou seja, pelas transições e roteamento. Em aplicações iOS, o Router muitas vezes é implementado como um componente separado que gerencia as transições entre ViewController, é chamado a partir do ViewModel ou do Coordinator e ajuda a separar a lógica de navegação da lógica de negócio e da apresentação.
Exemplo: O ViewModel informa ao Router que deve ir para a próxima tela, e o Router realiza a transição.
protocol Router {
func navigateToDetail()
}
class AppRouter: Router {
weak var navigationController: UINavigationController?
func navigateToDetail() {
let detailVC = DetailViewController()
navigationController?.pushViewController(detailVC, animated: true)
}
}