Три экрана по-разному решают, брать каталог из базы или из сети
В приложении каталог показывают главный экран, поиск и избранное. Каждая ViewModel сама проверяет возраст данных в Room и решает, идти ли в сеть. Логика разъехалась: избранное обновляется раз в час, поиск — никогда.
Где по Clean Architecture должно жить это решение?
- В репозитории, общем для всех экранов
- В базовом классе BaseViewModel
- В интерфейсе Retrofit через аннотации
- В DAO Room в виде SQL-запроса
