Встречается на собеседованиях • сегодня
Что такое паттерн MVVM
MVVM (Model-View-ViewModel) — это архитектурный паттерн, разделяющий приложение на три компонента:
- **Model** — бизнес-логика и данные.
- **View** — UI (XAML в WPF/UWP/Maui), отображает данные и передает пользовательские действия в ViewModel.
- **ViewModel** — посредник между View и Model, содержит логику представления и команды, уведомляет View об изменениях через `INotifyPropertyChanged` или `ObservableCollection`.
**Пример:**
```csharp
// Model
public class User {
public string Name { get; set; }
}
// ViewModel
public class UserViewModel : INotifyPropertyChanged {
private User _user;
public string Name {
get => _user.Name;
set {
_user.Name = value;
OnPropertyChanged();
}
}
public event PropertyChangedEventHandler? PropertyChanged;
protected void OnPropertyChanged([CallerMemberName] string? name = null) =>
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
}
// View (XAML)
```
**Плюсы:**
- Четкое разделение ответственности.
- Упрощает тестирование (ViewModel не зависит от UI).
- Поддержка двустороннего биндинга (WPF/Maui).
**Минусы:**
- Избыточность для простых приложений.
- Крутая кривая обучения (биндинги, команды).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы