Junior — Middle
Μπορείτε να εξηγήσετε την έννοια του μοτίβου MVVM και τα βασικά του συστατικά;
sobes.tech AI
Απάντηση από AI
MVVM (Model-View-ViewModel) είναι ένα αρχιτεκτονικό μοτίβο που διαχωρίζει τη λογική παρουσίασης και τη λογική επιχειρήσεων για να διευκολύνει τη συντήρηση και τον έλεγχο των εφαρμογών.
- Model — περιέχει δεδομένα και λογική επιχειρήσεων, υπεύθυνο για την εργασία με δεδομένα (π.χ., μοντέλα δεδομένων, υπηρεσίες).
- View — υπεύθυνο για την εμφάνιση του περιβάλλοντος χρήστη, περιέχει οπτικά στοιχεία.
- ViewModel — μεσάζων μεταξύ Model και View, περιέχει τη λογική παρουσίασης, μετατρέπει δεδομένα από το Model σε μορφή κατάλληλη για το View και χειρίζεται τις ενέργειες του χρήστη.
Το ViewModel υλοποιεί συνήθως μηχανισμούς ειδοποίησης αλλαγών (π.χ., INotifyPropertyChanged σε C#), ώστε το View να ενημερώνεται αυτόματα όταν αλλάζουν τα δεδομένα.
Παράδειγμα απλού ViewModel σε C#:
public class PersonViewModel : INotifyPropertyChanged
{
private string name;
public string Name
{
get => name;
set
{
if (name != value)
{
name = value;
OnPropertyChanged(nameof(Name));
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName) =>
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}