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