Back to questions
Junior — Middle
66
Какую структуру и компоненты включает паттерн MVVM?
Answer from AI
sobes.tech AI
Паттерн MVVM (Model-View-ViewModel) разделяет приложение на три основных компонента:
- Model — представляет данные и бизнес-логику. Это слой, который работает с данными, например, модели базы данных или сервисы.
- View — отвечает за отображение данных пользователю. Это UI-компоненты, которые показывают информацию и принимают пользовательский ввод.
- ViewModel — посредник между Model и View. Он содержит логику представления, преобразует данные из Model в формат, удобный для View, и обрабатывает команды пользователя.
Такое разделение позволяет улучшить тестируемость, поддержку и повторное использование кода. View и ViewModel обычно связываются через механизмы биндинга, что снижает количество кода для обновления UI.
Пример на C# с использованием WPF:
public class PersonViewModel : INotifyPropertyChanged
{
private string name;
public string Name
{
get => name;
set
{
name = value;
OnPropertyChanged();
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged([CallerMemberName] string propName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propName));
}
}
Здесь ViewModel содержит свойство Name, которое View может биндинговать для отображения и редактирования.