Что такое MVVM?

Это не что иное, как правильная структура, состоящая из Model View и ViewModel.

Представление:-
• Представление — это то, от чего большинство из нас больше всего отказывается. Он использует представление данных.
• В основном это пользовательский интерфейс — Activity/Fragment взаимодействует с ViewModel или наблюдает за ним с помощью наблюдателя.

ViewModel:-
• ViewModel, с другой стороны, сохраняет нюансы представления отдельно от модели. Он не взаимодействует напрямую с моделью, вместо этого он поддерживает преобразователь с именем Repository.
• Но возникает вопрос, почему ViewModel содержит преобразователь, он может напрямую взаимодействовать с моделью, но в модели может быть либо база данных, либо веб-служба.

Модель:-
• Модель содержит базу данных или веб-службу. Здесь давайте возьмем пример базы данных (например, Room Database).
• База данных комнат
в основном состоит из 3 частей: SQ-Lite, Entity и Dao. Объект выполняет только работу по созданию таблицы различных компонентов, которые мы хотим выполнить.
• И, наконец, Dao сотрудничает с SQ-Lite и передает данные в репозиторий, а процесс идет наоборот.