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.