Sobes.tech
Junior — Middle

A chi è destinato il ruolo di Router nell'architettura MVVM?

sobes.tech AI

Risposta dell'AI

Nell'architettura MVVM, il ruolo del Router di solito non è direttamente collegato a Model, View o ViewModel. Il Router è responsabile della navigazione tra le schermate dell'applicazione, cioè dei passaggi e del routing. Nelle applicazioni iOS, il Router viene spesso implementato come un componente separato che gestisce i passaggi tra ViewController, viene chiamato dal ViewModel o dal Coordinator e aiuta a separare la logica di navigazione dalla logica di business e dalla presentazione.

Esempio: Il ViewModel informa il Router che deve passare alla schermata successiva, e il Router esegue il passaggio.

protocol Router {
    func navigateToDetail()
}

class AppRouter: Router {
    weak var navigationController: UINavigationController?

    func navigateToDetail() {
        let detailVC = DetailViewController()
        navigationController?.pushViewController(detailVC, animated: true)
    }
}