Junior — Middle
Akú štruktúru a komponenty obsahuje vzor MVVM?
sobes.tech AI
Odpoveď od AI
Vzorec MVVM (Model-View-ViewModel) rozdeľuje aplikáciu na tri hlavné komponenty:
- Model — predstavuje údaje a obchodnú logiku. Je to vrstva, ktorá pracuje s údajmi, napríklad modely databáz alebo služby.
- View — je zodpovedná za zobrazovanie údajov používateľovi. Sú to UI komponenty, ktoré zobrazujú informácie a prijímajú používateľský vstup.
- ViewModel — sprostredkovateľ medzi Modelom a View. Obsahuje logiku prezentácie, transformuje údaje z Modelu do formátu vhodného pre View a spracováva príkazy používateľa.
Takéto rozdelenie umožňuje zlepšiť testovateľnosť, údržbu a opätovné použitie kódu. View a ViewModel sú zvyčajne prepojené prostredníctvom mechanizmov bindingu, čo znižuje množstvo kódu potrebného na aktualizáciu UI.
Príklad v C# s 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));
}
}
Tu, ViewModel obsahuje vlastnosť Name, ktorú môže View viazať na zobrazenie a úpravu.