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