Sobes.tech
Junior — Middle

A MVVM mintázat milyen szerkezetet és összetevőket tartalmaz?

sobes.tech MI

Válasz az MI-től

Az MVVM (Model-View-ViewModel) minta az alkalmazást három fő összetevőre osztja:

  • Model — az adatok és az üzleti logika reprezentációja. Ez a réteg dolgozik az adatokkal, például adatbázis modellek vagy szolgáltatások.
  • View — felelős az adatok megjelenítéséért a felhasználó számára. Ezek UI komponensek, amelyek információkat mutatnak és fogadják a felhasználói bemenetet.
  • ViewModel — közvetítő a Model és a View között. Tartalmazza a bemutatási logikát, átalakítja a Model-ből származó adatokat a View számára megfelelő formátumba, és kezeli a felhasználói parancsokat.

Ez az elkülönítés lehetővé teszi a kód tesztelhetőségének, karbantartásának és újrahasznosíthatóságának javítását. A View és a ViewModel általában kötési mechanizmusokon keresztül kapcsolódik, ami csökkenti a UI frissítéséhez szükséges kód mennyiségét.

Példa C#-ban WPF használatával:

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

Itt, a ViewModel tartalmazza a Name tulajdonságot, amit a View kötni tud a megjelenítéshez és szerkesztéshez.