Junior — Middle
Pro koho je v architektuře MVVM určena role Router?
sobes.tech AI
Odpověď od AI
V architektuře MVVM role Routeru obvykle nesouvisí přímo s Modelem, View nebo ViewModel. Router je zodpovědný za navigaci mezi obrazovkami aplikace, tedy za přechody a směrování. V iOS aplikacích je Router často implementován jako samostatná komponenta, která řídí přechody mezi ViewControllery, je volána z ViewModel nebo Koordinátora a pomáhá oddělit logiku navigace od obchodní logiky a prezentace.
Příklad: ViewModel informuje Router, že je třeba přejít na další obrazovku, a Router provádí přechod.
protocol Router {
func navigateToDetail()
}
class AppRouter: Router {
weak var navigationController: UINavigationController?
func navigateToDetail() {
let detailVC = DetailViewController()
navigationController?.pushViewController(detailVC, animated: true)
}
}