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));
}