Sobes.tech
Junior — Middle

Jak je v architektuře MVVM zajištěna komunikace a výměna dat mezi uživatelským rozhraním a obchodní logikou?

sobes.tech AI

Odpověď od AI

В архитектуре 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 обновится автоматически