Junior — Middle
За кого е предназначена ролята на Router в архитектурата MVVM?
sobes.tech AI
Отговор от AI
В архитектурата MVVM ролята на Router обикновено не е пряко свързана с Model, View или ViewModel. Router отговаря за навигацията между екрани на приложението, тоест за преходите и маршрутизирането. В iOS приложения Router често се реализира като отделен компонент, който управлява преходите между ViewController-ите, се извиква от ViewModel или Coordinator и помага да се отдели логиката за навигация от бизнес логиката и визуализацията.
Пример: ViewModel уведомява Router-а, че трябва да премине към следващия екран, а Router изпълнява прехода.
protocol Router {
func navigateToDetail()
}
class AppRouter: Router {
weak var navigationController: UINavigationController?
func navigateToDetail() {
let detailVC = DetailViewController()
navigationController?.pushViewController(detailVC, animated: true)
}
}