Sobes.tech
Junior — Middle

Jakou strukturu a komponenty zahrnuje vzor MVVM?

sobes.tech AI

Odpověď od AI

Vzorec MVVM (Model-View-ViewModel) rozděluje aplikaci na tři hlavní komponenty:

  • Model — představuje data a obchodní logiku. Je to vrstva, která pracuje s daty, například modely databází nebo služby.
  • View — je odpovědná za zobrazování dat uživateli. Jsou to UI komponenty, které zobrazují informace a přijímají uživatelský vstup.
  • ViewModel — prostředník mezi Modelem a View. Obsahuje logiku prezentace, převádí data z Modelu do formátu vhodného pro View a zpracovává příkazy uživatele.

Takové rozdělení umožňuje zlepšit testovatelnost, údržbu a opětovné použití kódu. View a ViewModel jsou obvykle spojeny prostřednictvím mechanismů bindingu, což snižuje množství kódu potřebného k aktualizaci UI.

Pří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));
    }
}

Zde, ViewModel obsahuje vlastnost Name, kterou může View vázat pro zobrazení a úpravu.