View тонкий, ViewModel держит state и use-cases, Model/сервисы — данные; binding/observation связывают VM↔View.
Разбор
- Избегайте Massive View Model = Massive VC 2.0.
- Domain logic можно вынести в use-cases.
- Router/Coordinator опционален при сложной навигации.
- Тестируемость VM без UI.
Итог
MVVM — популярный fit для SwiftUI, если VM не становится свалкой.