Sobes.tech
Junior — Middle

Ko je namenjena uloga Router-a u arhitekturi MVVM?

sobes.tech АИ

Одговор од АИ

У архитектури 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)
    }
}