Всем доброго времени суток. Пытаюсь осознать как правильно построить архитектуру связки Room и Retrofit.
1. Создать DataManager для Room
2. Создать DataManager для Retrofit
3. Создать Repository, который будет управлять этими DataManager'aми, в случае плохого ответа от DataManager'a retrofit'a возвращать данные из БД с помощью Room
4. Repository так же должен кешировать и сохранять необходимые данные из сети в локальную БД
5. ViewModel, которая будет содержать LiveData и оповещать Activity об изменении данных
6. Само Activity, где происходит вся работа с интерфейсом