Sobes.tech
Junior — Middle

Kunt u het concept van het MVVM-patroon en de belangrijkste componenten ervan uitleggen?

sobes.tech AI

Antwoord van AI

MVVM (Model-View-ViewModel) is een architectuurpatroon dat de presentatie-logica en de bedrijfslogica scheidt om het onderhoud en testen van applicaties te vereenvoudigen.

  • Model — bevat gegevens en bedrijfslogica, verantwoordelijk voor het werken met gegevens (bijvoorbeeld datamodellen, services).
  • View — verantwoordelijk voor het weergeven van de gebruikersinterface, bevat de visuele elementen.
  • ViewModel — tussenpersoon tussen Model en View, bevat de presentatie-logica, transformeert gegevens van het Model naar een formaat dat geschikt is voor de View en behandelt gebruikersacties.

ViewModel implementeert meestal mechanismen voor wijzigingsmelding (bijvoorbeeld INotifyPropertyChanged in C#), zodat de View automatisch wordt bijgewerkt bij gegevenswijzigingen.

Voorbeeld van een eenvoudige ViewModel in 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));
}