@Брайан Иган возможно, он помнит, что читал здесь ›› https://developer.android.com/jetpack/docs/guide
Единственный источник правды
Обычно разные конечные точки REST API возвращают одни и те же данные. Например, если у нашего бэкенда есть другая конечная точка, которая возвращает список друзей, один и тот же пользовательский объект может поступать из двух разных конечных точек API, возможно, с разной степенью детализации. Если бы
UserRepository
возвращал ответ на запросWebservice
как есть, наши пользовательские интерфейсы потенциально могли бы отображать несогласованные данные, поскольку данные могут измениться на стороне сервера между этими запросами. Вот почему в реализацииUserRepository
обратный вызов веб-службы просто сохраняет данные в базе данных. Затем изменения в базе данных вызовут обратные вызовы для активных объектов LiveData.
В этой модели база данных служит единственным источником достоверной информации, а другие части приложения получают к ней доступ через репозиторий. Независимо от того, используете ли вы дисковый кеш, мы рекомендуем, чтобы ваш репозиторий назначал источник данных в качестве единственного источника достоверности для остальной части вашего приложения.
Это имеет больше смысла, когда вы читаете всю статью и особенно