Ответ 1
О выборе архитектурного шаблона и его реализации всегда зависит от многих факторов, таких как члены команды, типы приложений и т.д.
В сообщении в блоге Google они уже сказали, что компоненты архитектуры в основном
Мнения не рецепты.
Однако три основных компонента (Room, ViewModel, ViewData
) разработаны с широким диапазоном использования, но не фокусируются на каком-либо конкретном шаблоне.
Например,
- Если вы используете SQLite для сохранения локальных данных в своем приложении, вы можете вы, независимо от того, какой шаблон вы используете, это действительно отличная библиотека с множеством преимуществ, таких как сокращение плиты котла коды, проверяющие синтаксис SQLite во время компиляции и т.д.
- Кроме того, LifeCycle, LiveData и ViewModel имеют свои собственные сильные точки. В частности, они очень хорошо справляются с проблемами управления жизненным циклом.
- LiveData предоставляет вам еще один инструмент шаблона наблюдателя, который реагирует на поток данных. (Как отличная функция, предоставляемая нами RxJava).
- ...
В конце, для вашего вопроса.
Итак, мы должны использовать MVP с компонентами архитектуры?
Ответ "это приятная часть платформы Android, поэтому почему бы и нет".
Обновлено:
Если вы хотите посмотреть, как работает проект шаблонов MVP с новыми компонентами архитектуры, ознакомьтесь с моим репозитором в Github. В которой я улучшаю предыдущую модель MVP, используя Room для локального сохранения и LifeCycle для создания Presenter, ориентированного на жизненный цикл.