Sobes.tech
Junior — Middle

Каква структура и компоненти включва моделът MVVM?

sobes.tech AI

Отговор от AI

Модел-View-ViewModel (MVVM) моделът разделя приложението на три основни компонента:

  • 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 може да обвърже за показване и редактиране.