Back to questions
СБЕР
Junior — Middle
73
Какова роль компонента ViewModel при реализации архитектуры MVVM?
Companies where asked
NetUP
Answer from AI
sobes.tech AI
ViewModel в архитектуре MVVM отвечает за подготовку и управление данными для пользовательского интерфейса (View). Он служит посредником между View и моделью данных, обеспечивая:
- Хранение состояния UI и данных, которые нужны для отображения.
- Логика преобразования данных из модели в форму, удобную для отображения.
- Обработку событий и команд от View.
ViewModel не содержит ссылок на View напрямую, что облегчает тестирование и поддерживает разделение ответственности.
Пример на Kotlin для Android с использованием LiveData:
class UserViewModel : ViewModel() {
private val userRepository = UserRepository()
val userData: LiveData<User> = userRepository.getUser()
fun refreshUser() {
userRepository.fetchUserFromNetwork()
}
}
Здесь ViewModel предоставляет данные через LiveData, а View подписывается на эти данные и обновляется автоматически.