Android Interview Review

@AndroidSobes Нравится 2 1 500

Популярные вопросы и ответы с собеседований на Android-разработчика.
Канал для Java-разработчиков @JavaSobes
Связаться с нами @SobesAdmin
https://itsobes.ru
Гео и язык канала
Россия, Русский
Категория
Образование


Написать автору
Гео канала
Россия
Язык канала
Русский
Категория
Образование
Добавлен в индекс
18.03.2019 05:12
28 Jan, 18:01 (23 дня назад)
Что такое MVVM?

MVVM (Model-View-ViewModel) – это шаблон проектирования. Так же как и MVP, MVVM используется для разработки пользовательского интерфейса и разделяет ответственность за бизнес логику и логику отображения.

MVVM состоит из следующих частей:

• Model представляет собой данные, которые необходимо показать пользователю. В большинстве Android-приложений моделью выступает слой, отвечающий за получение данных с бэкэнда.

• View – это класс, отвечающий за отображение данных. В Android-приложениях View – это обычно Activity или Fragment.

• ViewModel – класс, который соединяет View и Model. ViewModel подписана на обновления Model, а View подписана на обновления ViewModel. При этом ViewModel не имеет явной сслыки на View. Подписки реализуются через паттерн Observer.

ViewModel представляет собой маппинг данных, которые отображаются на View.
Допустим, пользователь вводит текст в поле ввода сообщения в приложении-мессенджере и нажимает "Отправить". View изменяет ViewModel. ViewModel выставляет атрибут isMessageRead в значение false и обновляет Model. В нашем примере Model – это абстракция для слоя взаимодействия с бэкендом. Обновление модели значит отправка запроса с введенным сообщением.

Далее собеседник читает сообщение. Model обновляется по сети (например приходит сигнал по сокет-соединению). ViewModel получает оповещение об обновлении Model и обновляет себя, меняя значение атрибута isMessageRead на true. View наблюдает обновление ViewModel и отрисовывает изменение.

#Architecture