Выбор ответа Junior Архитектура: MVVM, MVI, Clean обновлено
Роль репозитория
Вопрос
Какова роль репозитория в рекомендованной архитектуре?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Быть единой точкой доступа к данным и скрывать, откуда они: сеть, база, кеш. Репозиторий изолирует остальное приложение от источников данных: решает, когда идти в сеть, когда отдать кеш, разрешает конфликты, преобразует DTO.
Варианты ответа
- Хранить ссылки на Activity и Context, чтобы показывать ошибки загрузки
- Быть единой точкой доступа к данным и скрывать, откуда они: сеть, база, кешправильный ответ
- Готовить UI-модели и форматировать строки для отрисовки на экране
- Заменять ViewModel на простых экранах, где нет пользовательского ввода
Разбор
Репозиторий изолирует остальное приложение от источников данных: решает, когда идти в сеть, когда отдать кеш, разрешает конфликты, преобразует DTO. ViewModel работает с репозиторием через интерфейс и не знает о Retrofit или Room. Ссылки на Activity и отрисовка UI сюда не относятся, ViewModel он не заменяет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.