Sobes.tech
Назад к вопросам
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 подписывается на эти данные и обновляется автоматически.