Sobes.tech
Junior — Middle

Kinek szól az Router szerepe az MVVM architektúrában?

sobes.tech MI

Válasz az MI-től

Az MVVM architektúrában a Router szerepe általában nem közvetlenül kapcsolódik a Modelhez, View-hoz vagy ViewModel-hez. A Router felelős az alkalmazás képernyői közötti navigációért, azaz az átmenetekért és az útvonalválasztásért. iOS alkalmazásokban a Router gyakran külön komponensként valósul meg, amely kezeli a ViewController-ek közötti átmeneteket, a ViewModel vagy Koordinátor hívására, és segít elválasztani a navigáció logikáját az üzleti logikától és a megjelenítéstől.

Példa: A ViewModel értesíti a Router-t, hogy a következő képernyőre kell lépni, és a Router végrehajtja az átmenetet.

protocol Router {
    func navigateToDetail()
}

class AppRouter: Router {
    weak var navigationController: UINavigationController?

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