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á.