Back to questions
Junior — Middle
74
Кому в архитектуре MVVM предназначена роль Router?
Answer from AI
sobes.tech 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)
}
}