Фрагмент
- это ваш контроллер представления, он управляет видом, знает, когда нажата кнопка, или где находится текст, или пользователь ввел текст для редактирования, или нет.
viewModel отвечает за logi c и данные вашего приложения, например, что делать при нажатии кнопки, или что должно отображать textView. когда кнопка нажата, фрагмент вызывает viewModel для правильного действия. представление (ваш фрагмент) не должно иметь возможности изменять свойства в вашей viewModel, оно должно иметь возможность просто наблюдать их, для этого мы используем LiveData.
они все являются частью архитектуры под названием MVVM, сокращенно для Модель, представление, просмотр и просмотр модели MVVM для получения дополнительной информации
Руководство по архитектуре приложения
также этот курс по мастерству может вам очень помочь
Разработка Android приложений с Kotlin