Назад к вопросам
DNS
Junior — Middle
84
Объясните принцип работы архитектурного паттерна MVVM и его составляющие.
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
MVVM (Model-View-ViewModel) — архитектурный паттерн, который разделяет логику приложения на три компонента:
-
Model — модель данных и бизнес-логика. Отвечает за работу с данными, например, загрузку из сети или базы.
-
View — пользовательский интерфейс, отображающий данные и принимающий действия пользователя.
-
ViewModel — посредник между Model и View. Содержит логику представления, преобразует данные из модели в формат, удобный для отображения, и обрабатывает пользовательские команды.
Принцип работы:
- View подписывается на изменения в ViewModel (например, через биндинги или наблюдателей).
- ViewModel запрашивает данные у Model и обновляет своё состояние.
- При изменении данных ViewModel уведомляет View, которая обновляет интерфейс.
Это разделение упрощает тестирование и поддержку кода, так как UI и бизнес-логика отделены.
Пример на Swift с использованием Combine:
class ViewModel: ObservableObject {
@Published var text: String = ""
func fetchData() {
// загрузка данных и обновление text
text = "Данные загружены"
}
}
// View подписывается на изменения ViewModel и обновляет UI автоматически