Sobes.tech
Back to questions
Junior — Middle
71

Каким образом осуществляется передача данных от бизнес-логики к пользовательскому интерфейсу?

Companies where asked
Ютека

Answer from AI

sobes.tech AI

В Android передача данных от бизнес-логики к пользовательскому интерфейсу обычно осуществляется через ViewModel и LiveData (или StateFlow/Flow в современных подходах).

Основной паттерн — MVVM (Model-View-ViewModel):

  • Бизнес-логика находится в слое Model или в репозиториях.
  • ViewModel получает данные из бизнес-логики и хранит их в LiveData или других observable объектах.
  • UI (Activity/Fragment) подписывается на эти данные и обновляется при их изменении.

Пример с LiveData:

class MyViewModel : ViewModel() {
    val data: MutableLiveData<String> = MutableLiveData()

    fun loadData() {
        // Получаем данные из бизнес-логики
        data.value = "Привет, мир!"
    }
}

// В Activity или Fragment
viewModel.data.observe(this) { value ->
    textView.text = value
}

Такой подход обеспечивает реактивное обновление UI при изменении данных и отделяет бизнес-логику от представления.