RATlius
@RATlius
Разработчик Android

Количество Model в MVP android?

Здравствуйте, изучаю архитектуру приложений MVP и вроде понимаю ее суть. Читал различные рекомендации по реализации, что у каждого View рекомендуется делать свой Presenter. В Model я понял, что она отделена и данные возвращает через callback.
Но я не понимаю тонкостей проектирования Model.
Предположим есть простое приложение - администратор магазина. Есть несколько таблиц в БД: "товар", "клиенты", "покупки". К каждому списку реализуется свой View + Presenter. Как быть с Model? она выступает как одна на все 3 таблицы; идет 1к1 (1 таблица - 1 Model); или 1 - клиенты, 2 - товар, 3 - смежная с первыми двумя?
И как реализуется тогда интерфейсы Model в Presenter'ах?
  • Вопрос задан
  • 138 просмотров
Пригласить эксперта
Ответы на вопрос 1
Model - уровень, который предоставляет данные
Как вариант, для каждого user case можно использовать свой уровень бизнес логики. Презентер, допустим, экрана со списком клиентов обращается к интерфейсу interactor-а или класса, который инкапсулирует получение списка клиентов (Repository)
ClientsPresenter <-> ClientsRepository <-> Db
PurchasesPresenter <-> PurchasesInteractor <-> PurchasesRepository <-> Db
Презентер знает об интеракторе/repository и получает данные с помощью реализации колбеков или, например, используя RxJava.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы