Sobes.tech
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.