Junior — Middle
74
Могли бы вы объяснить концепцию паттерна MVVM и его основные компоненты?
Companies where asked
Титул-2005
Answer from AI
sobes.tech AI
MVVM (Model-View-ViewModel) — это архитектурный паттерн, который разделяет логику представления и бизнес-логику для упрощения поддержки и тестирования приложений.
- Model — содержит данные и бизнес-логику, отвечает за работу с данными (например, модели данных, сервисы).
- View — отвечает за отображение интерфейса пользователю, содержит визуальные элементы.
- ViewModel — посредник между Model и View, содержит логику представления, преобразует данные из Model в формат, удобный для View, и обрабатывает пользовательские действия.
ViewModel обычно реализует механизмы уведомления об изменениях (например, INotifyPropertyChanged в C#), чтобы View автоматически обновлялся при изменении данных.
Пример простого ViewModel на C#:
public class PersonViewModel : INotifyPropertyChanged
{
private string name;
public string Name
{
get => name;
set
{
if (name != value)
{
name = value;
OnPropertyChanged(nameof(Name));
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName) =>
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}