Sobes.tech
Junior — Middle

Pre koho je určená rola Router v architektúre MVVM?

sobes.tech AI

Odpoveď od AI

V architektúre MVVM úloha Routeru zvyčajne nie je priamo spojená s Modelom, View alebo ViewModel. Router je zodpovedný za navigáciu medzi obrazovkami aplikácie, teda za prechody a routovanie. V iOS aplikáciách je Router často implementovaný ako samostatná komponenta, ktorá riadi prechody medzi ViewControllermi, je volaná z ViewModel alebo Koordinátora a pomáha oddeliť logiku navigácie od obchodnej logiky a prezentácie.

Príklad: ViewModel informuje Router, že je potrebné prejsť na ďalšiu obrazovku, a Router vykoná prechod.

protocol Router {
    func navigateToDetail()
}

class AppRouter: Router {
    weak var navigationController: UINavigationController?

    func navigateToDetail() {
        let detailVC = DetailViewController()
        navigationController?.pushViewController(detailVC, animated: true)
    }
}