чем он отличается от репозитория? А то я запутался в ноль.
Вот пусть у меня есть API, запросы которого можно поделить на три блока: User, News, Messages.
Я создаю три интерфейса, в которых пишу ремоуты для Retrofit:
UserRemote
NewsRemote
MessagesRemote
Далее я создаю три интерфейса, в которых описываю методы, типо getUser, getMessageById(int ID), и так далее.
UserService
NewsService
MessagesService
Далее я создаю три класса, каждый из которых реализует свой интерфейс(OkUserService -> UserService,...).
OkUserServive
OkNewsService
OkMessagesService
Далее я пишу класс apiFacade, в котором создаю клиенты, ремоуты и даю доступ к ремоутам через геттеры.
Затем пишу в этих классах реализацию, что - то типо(фасад передаю через конструктор):
` @Override
public Observable<User> getUser() {
return apiFacade. userRemote().getUser()
.subscribeOn(Schedulers.io())
.doOnError(e -> Timber::e);
}`
И всё работает.
Вопрос: что я создал, фасад или репозиторий? И как это понять? Или я вообще создал говно?)
Хороший вопрос в конце) А а зачем тебе фасад? Используй там где надо классы Ok... по отдельности
Обсуждают сегодня