Выбор ответа Junior MVC, MVP, MVVM, MVI, VIPER спрашивают часто обновлено
Суть MVVM
Вопрос
Что главное в MVVM?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: View model хранит состояние и логику экрана и не знает о view; view подписана на состояние. View model это тестируемый объект без зависимостей от UIKit, Android View или виджетов Flutter: она отдаёт состояние (через биндинги, Flow, @Observable, Stream) и принимает действия.
Варианты ответа
- View model напрямую меняет свойства UIView и UILabel, а view только объявляет разметку
- Модель обновляет view через делегат, а view model лишь форматирует данные для показа
- View model создаёт и показывает следующий экран через
presentи держит ссылку на контроллер - View model хранит состояние и логику экрана и не знает о view; view подписана на состояниеправильный ответ
Разбор
View model это тестируемый объект без зависимостей от UIKit, Android View или виджетов Flutter: она отдаёт состояние (через биндинги, Flow, @Observable, Stream) и принимает действия. View отображает состояние. Если view model трогает view напрямую, это уже не MVVM, а скрытый MVP. Навигацию обычно выносят в координатор или роутер.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Термины по теме
Ещё по теме «MVC, MVP, MVVM, MVI, VIPER»
- Выбор паттерна для небольшого приложения
- MVC, MVP, MVVM, MVI, VIPER коротко
- TCA, BLoC, Redux: общий принцип
- Что такое UDF
- Почему MVC в iOS называют Massive View Controller
- Кто за что отвечает в паттернах
- Однонаправленный поток данных в MVI
- Код-ревью: view model экрана заказа (Kotlin)