Новые компоненты архитектуры Android, выпущенные в google IO 17.
Итак, мы должны использовать MVP с компонентами архитектуры и MVVM?
В примере Google на Github они использовали модель MVVM. Пример Google
Новые компоненты архитектуры Android, выпущенные в google IO 17.
Итак, мы должны использовать MVP с компонентами архитектуры и MVVM?
В примере Google на Github они использовали модель MVVM. Пример Google
О выборе архитектурного шаблона и его реализации всегда зависит от многих факторов, таких как члены команды, типы приложений и т.д.
В сообщении в блоге Google они уже сказали, что компоненты архитектуры в основном
Мнения не рецепты.
Однако три основных компонента (Room, ViewModel, ViewData
) разработаны с широким диапазоном использования, но не фокусируются на каком-либо конкретном шаблоне.
Например,
В конце, для вашего вопроса.
Итак, мы должны использовать MVP с компонентами архитектуры?
Ответ "это приятная часть платформы Android, поэтому почему бы и нет".
Обновлено:
Если вы хотите посмотреть, как работает проект шаблонов MVP с новыми компонентами архитектуры, ознакомьтесь с моим репозитором в Github. В которой я улучшаю предыдущую модель MVP, используя Room для локального сохранения и LifeCycle для создания Presenter, ориентированного на жизненный цикл.
В настоящее время я создаю проект шаблона, который использует шаблон MVP вместе с компонентами Google Architecture (Room, LiveData) и сравнивает версию Realm
и LiveData:
https://github.com/duyp/mvp-template
Я думаю, что некоторые компоненты Google Architecture совместимы с шаблоном MVP, а не только для MVVM: D
Вы можете проверить 2 следующих ветки:
realm_livedata
: MVP с Realm и LiveDatap >
room_livedata
: MVP с библиотекой сохранения пространства и LiveDatap >
Это гораздо сложнее, чем Google sample
project (я использовал Dagger 2
, RxAndroid, Retrofit, Gson и чистая архитектура) надеюсь, что вы найдете лучшее решение для своей работы. Если у вас есть какие-либо вопросы или предложения, вы можете оставить комментарии или проблемы на my github project
.
Я также создал проект с использованием MVVM с новыми компонентами архитектуры Google с Realm, Dagger 2, Live data: https://github.com/duyp/mvvm-template
Счастливое кодирование!