Junior — Middle
Como é que a comunicação e a troca de dados entre a interface de utilizador e a lógica de negócio são realizadas na arquitetura MVVM?
sobes.tech IA
Resposta da IA
В архитектуре MVVM (Model-View-ViewModel) связь между пользовательским интерфейсом (View) и бизнес-логикой (ViewModel) осуществляется через механизм двунаправленного связывания данных (data binding). Это значит, что изменения в модели данных автоматически отражаются в интерфейсе, а действия пользователя обновляют данные в ViewModel.
В Android для этого часто используют LiveData или Observable объекты, которые View подписывается и реагирует на изменения. ViewModel содержит логику и данные, а View — только отображение и обработку пользовательских событий.
Пример с LiveData:
class MyViewModel : ViewModel() {
val userName = MutableLiveData<String>()
}
// В Activity или Fragment
viewModel.userName.observe(this) { name ->
textView.text = name
}
// При изменении userName в ViewModel, текст в textView обновится автоматически