Junior — Middle
Můžete vysvětlit koncept vzoru MVVM a jeho hlavní komponenty?
sobes.tech AI
Odpověď od AI
MVVM (Model-View-ViewModel) je architektonický vzor, ktorý rozdeľuje logiku prezentácie a biznis logiku na uľahčenie údržby a testovania aplikácií.
- Model — obsahuje dáta a biznis logiku, zodpovedá za prácu s dátami (napríklad dátové modely, služby).
- View — zodpovedá za zobrazovanie používateľského rozhrania, obsahuje vizuálne prvky.
- ViewModel — sprostredkovateľ medzi Modelom a View, obsahuje logiku prezentácie, transformuje dáta z Modelu do formátu vhodného pre View a spravuje akcie používateľa.
ViewModel zvyčajne implementuje mechanizmy na oznámenie zmien (napríklad INotifyPropertyChanged v C#), aby sa View automaticky aktualizovalo pri zmene dát.
Príklad jednoduchého ViewModelu v 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));
}