Junior — Middle
Можете ли да обясните концепцията за патърна MVVM и неговите основни компоненти?
sobes.tech AI
Отговор от 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));
}