Выбор ответа Middle MVC, MVP, MVVM, MVI, VIPER обновлено
Чем MVP отличается от MVVM
Вопрос
Чем MVP отличается от MVVM?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: В MVP презентер держит ссылку на интерфейс view и вызывает её методы; в MVVM view model публикует состояние. В MVP связь двусторонняя: презентер получает события от view и командует ей через протокол (view.showLoading()).
Варианты ответа
- В MVP нет модели: презентер сам ходит в сеть и хранит данные экрана в своих полях
- В MVP презентер держит ссылку на интерфейс view и вызывает её методы; в MVVM view model публикует состояниеправильный ответ
- MVP работает только на Android с Activity, а MVVM только на iOS со SwiftUI и Combine
- В MVVM view model обязана наследоваться от системного класса
ViewModelплатформы, а в MVP презентер может быть любым
Разбор
В MVP связь двусторонняя: презентер получает события от view и командует ей через протокол (view.showLoading()). В MVVM направление одно: view наблюдает за состоянием view model. Оба паттерна платформенно-независимы и имеют модель. На Android есть класс ViewModel из Jetpack, но паттерн MVVM от него не зависит.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Термины по теме
Ещё по теме «MVC, MVP, MVVM, MVI, VIPER»
- Выбор паттерна для небольшого приложения
- MVC, MVP, MVVM, MVI, VIPER коротко
- TCA, BLoC, Redux: общий принцип
- Что такое UDF
- Почему MVC в iOS называют Massive View Controller
- Кто за что отвечает в паттернах
- Одноразовые события во view model
- Код-ревью: view model экрана заказа (Kotlin)