Должны ли мы создать отдельный репозиторий для каждого действия или отдельный репозиторий для всего приложения - PullRequest
0 голосов
/ 22 мая 2018

Я следую MVVM архитектуре для моего приложения.В Activity мне нужно getNews() из URL, если новости еще не кэшированы.

Activity попросит ViewModel дать News Json, а ViewModel заглянет в хранилище и решитотправлять данные из локального или удаленного репозитория.

Теперь путаница проистекает из следующего: я должен создать отдельный класс репозитория для каждого действия или общий класс репозитория для всего проекта, с которым связывается каждое действие.Во втором подходе класс хранилища будет огромным.

Я не могу найти какое-либо официальное руководство по этой теме, и я хотел бы узнать лучшие практики в этом отношении.

1 Ответ

0 голосов
/ 23 мая 2018

Создание единого репозитория для всего приложения, безусловно, не очень хорошая идея, поскольку оно станет очень большим и совершенно неуправляемым очень быстро.

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

В вашем примере это будет означать, что у вас есть NewsSource служба , которая занимается извлечением и кэшированием новостей JSON и имеет все ваши репозитории которые нуждаются в том, чтобы данные извлекали их оттуда.

...