Назад к вопросам
СБЕР
Junior — Middle
74
Какова роль компонента ViewModel при реализации архитектуры MVVM?
Компании, где спрашивали
NetUP
Ответ от нейросети
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 подписывается на эти данные и обновляется автоматически.