у него два разных источника данных, один - кеш из базы, другой - rest api, в зависимости от наличия сети возвращает данные либо из сети, либо из таблицы, так же нужно сигналить, откуда взялись данные. Вопрос в чем, обычно же нас наоборот не интересует, откуда и как репозиторий получает данные, так? Если для этого случая возвращать из репозитория какой-то враппер вокруг данных, который будет так же указывать на источник данных, вроде такого:
RepoData(val source: Source, val data: List<Data>)
Такой способ будет корректным? Как бы вы подошли к реализации такой задачи?
Писать условныe RemoteDataSource и LocalDataSource и в репо решать что из них использовать:)
Не, это понятно. Мне интересно: 1) кто как будет сигналить в presenter/viewmodel про конкретный источник данных (запрос такой, отображать это в UI) 2) на сколько архитектурно корретный вариант возвращать из репозитория обертку с данными и инфой про источник
Презентеру не нужно знать откуда приходят данные)
Так, еще разок) Запрос такой, вот надо и все тут
Ну если такие условия, то как по-другому? Возвращай данные в обёртке просто с флагом fresh или чем-нибудь таким
Блин, запрос от бизнеса такой, понял) я думал что за запрос такой :)
Ну да, таску дали таку вот человеку) Я предложил просто вариант с оберткой, а смущает меня тем, что - да - обычно, нам неважен источник данных, а тут как-то детали реалзиации выпячивать из репы (мало ли, вдруг вместо сети потом условный какой-то блютуз-сорс будет внутри)
возможно, проблема здесь в том, что нам источник важен, просто до тех пор, пока мы не хотим что-то отобразить в интерфейсе, мы об этом не думаем
Обсуждают сегодня