Что лучше для пакета Android MVVM по функциям или по слоям? - PullRequest
0 голосов
/ 04 февраля 2019

Еще один вопрос "что лучше", я знаю, что это очень субъективно.Мое определение для лучшего было бы:

  1. Используется лучшими командами разработчиков
  2. Лучше всего для модульного тестирования
  3. Самый модульный / самый простой для создания приложения Prod
  4. То, что рекомендует Google (это то, где я больше всего смущен)

Все чертежи Android используют пакетные функции:

https://github.com/googlesamples/android-architecture

/tasks
/addedittask
/taskdetail

и все примеры компонентов архитектуры, используя пакет за слоем:

https://github.com/googlesamples/android-architecture-components

/db
/model
/ui
/persistence

Я запутался, потому что внизу сайта Компоненты архитектурына самом деле он содержит ссылки на образцы проектов Android MVP и MVVM, что мне кажется противоречивым.

Ответы [ 2 ]

0 голосов
/ 27 мая 2019

На основе Руководства по архитектуре Android и Чистая архитектура , я бы предложил этот подход

data/
    model/
    remote/
    local/
    Repository
domain/
    usecases/
        GetUserListUseCase
presentation/
    screen1/
        screen1Activity
        screen1Fragment
        screen1ViewModel
    screen2/
        screen2Activity
        screen2Fragment
        screen2ViewModel
core
    common/
    di/

Подробнее здесь: https://www.toptal.com/android/android-apps-mvvm-with-clean-architecture

0 голосов
/ 04 февраля 2019

Я думаю, это зависит от размера проекта.Также в разных компаниях команды используют разные подходы.

Я предпочитаю использовать в небольшом проекте второй тип управления пакетами.

Если вы хотите повторно использовать компонент ModelView, просто оставьте их впакеты функций.А может быть с этим типом:

/db
    feature1/
    feature2/
/model
    feature1/
    feature2/
/ui
/persistence
    feature1/
    feature2/
...