Выбор ответа Junior Архитектура: MVVM, MVI, Clean спрашивают часто обновлено
Однонаправленный поток данных
Вопрос
Что такое однонаправленный поток данных (UDF) в Android-архитектуре?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Состояние идёт от ViewModel к UI, события обратно; меняет его только владелец. UDF значит, что у состояния один владелец (обычно ViewModel), UI только отображает его и сообщает о событиях.
Варианты ответа
- UI сам меняет данные в базе через DAO, а ViewModel подписана на результат
- Данные передаются только в одну сторону: из сети в базу, обратной записи нет
- Каждый экран получает данные из своего синглтона и сам сообщает об изменениях
- Состояние идёт от ViewModel к UI, события обратно; меняет его только владелецправильный ответ
Разбор
UDF значит, что у состояния один владелец (обычно ViewModel), UI только отображает его и сообщает о событиях. Это даёт предсказуемость и упрощает отладку: любое изменение состояния проходит через одно место. Прямое изменение данных из UI и синглтоны на экран ломают этот принцип.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.