MVP?". Я привожу там аргументы, собственно чем. Вот они:
1) Нет беготни туда-сюда и ссылки на вью в презенторе
2) В VM легче следить за состоянием вью
3) Это более актуальная архитектура представления
4) Легче в использовании (сомнительно)
5) Привожу в пример кейс где у меня 2 ViewPager-а с фрагментами, которые ведут себя синхронно. Один ViewPager - миниатюрка с графиками (листаемая), другой ViewPager - детализация все с теми же графиками только информации больше и графиков (листаемая). И делая фичу на MVP получилось 4 презентора (хотя это можно было бы избежать используя необязательные методы во View-интерфейсе. Но все равно кода получилось меньше, читабельность не пострадала, и вроде как ViewModel получилась более переиспользуемой. И не пришлось юзать колбэки между фрагментами, чтобы миниатюрка была на той же странице, например.
Если есть что добавить, или считаете что я не прав в некоторых пунктах, то накидывайте. Нужно понять насколько прочный и уместный у меня доклад!
неправ делая вообще сравнение в подобном роде
накину: в андроиде нет MVVM, и если вы под этим подразумеваете ViewModel из архитектурных компонентов, то в плане удобства использования они полностью эквивалентны MVP.
Пока не поздно, советую переделать тему на "Чем MVI лучше MVP и MVVM?"
+ вьюмодель ничего не знает о вью и может шариться
Обсуждают сегодня