Sobes.tech
Junior — Middle

Aká je úloha komponentu ViewModel pri implementácii architektúry MVVM?

sobes.tech AI

Odpoveď od AI

ViewModel v architektúre MVVM je zodpovedný za prípravu a správu údajov pre používateľské rozhranie (View). Slúži ako sprostredkovateľ medzi View a modelom údajov a zabezpečuje:

  • Ukladanie stavu UI a údajov potrebných na zobrazenie.
  • Logiku transformácie údajov z modelu do vhodnej formy na zobrazenie.
  • Spracovanie udalostí a príkazov od View.

ViewModel neobsahuje priame odkazy na View, čo uľahčuje testovanie a podporuje oddelenie zodpovedností.

Príklad v Kotlin pre Android s použitím LiveData:

class UserViewModel : ViewModel() {
    private val userRepository = UserRepository()
    val userData: LiveData<User> = userRepository.getUser()

    fun refreshUser() {
        userRepository.fetchUserFromNetwork()
    }
}

Tu, ViewModel poskytuje údaje cez LiveData a View sa na tieto údaje prihlási a je automaticky aktualizovaná.