Выбор ответа Middle Архитектура: MVVM, MVI, Clean обновлено
Единый источник правды
Вопрос
Что означает принцип единого источника правды (SSOT) для данных профиля в offline-first приложении?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Данными владеет репозиторий: UI читает поток из базы, сеть только обновляет базу. SSOT: у данных один владелец, остальные получают их только оттуда.
Варианты ответа
- Данными владеет репозиторий: UI читает поток из базы, сеть только обновляет базуправильный ответ
- Профиль хранится и в базе, и в памяти ViewModel, и каждый слой обновляет свою копию
- Профиль загружается из сети при каждом открытии экрана, чтобы был свежим
- Каждый экран кеширует профиль отдельно и сверяет версии при возврате
Разбор
SSOT: у данных один владелец, остальные получают их только оттуда. В offline-first это локальная база: UI подписан на Flow из Room, сетевой запрос записывает результат в базу, и обновление само доходит до UI. Независимые копии в разных слоях рано или поздно расходятся. Только сеть убивает офлайн, кеши по экранам дают рассинхрон.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.