Выбор ответа Middle Архитектура: MVVM, MVI, Clean обновлено

Единый источник правды

Вопрос

Что означает принцип единого источника правды (SSOT) для данных профиля в offline-first приложении?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Данными владеет репозиторий: UI читает поток из базы, сеть только обновляет базу. SSOT: у данных один владелец, остальные получают их только оттуда.

Варианты ответа

  1. Данными владеет репозиторий: UI читает поток из базы, сеть только обновляет базуправильный ответ
  2. Профиль хранится и в базе, и в памяти ViewModel, и каждый слой обновляет свою копию
  3. Профиль загружается из сети при каждом открытии экрана, чтобы был свежим
  4. Каждый экран кеширует профиль отдельно и сверяет версии при возврате

Разбор

SSOT: у данных один владелец, остальные получают их только оттуда. В offline-first это локальная база: UI подписан на Flow из Room, сетевой запрос записывает результат в базу, и обновление само доходит до UI. Независимые копии в разных слоях рано или поздно расходятся. Только сеть убивает офлайн, кеши по экранам дают рассинхрон.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.