Junior — Middle
Jaką strukturę i komponenty obejmuje wzorzec MVVM?
sobes.tech AI
Odpowiedź od AI
Wzorzec MVVM (Model-View-ViewModel) dzieli aplikację na trzy główne komponenty:
- Model — reprezentuje dane i logikę biznesową. To warstwa, która pracuje z danymi, np. modele bazy danych lub usługi.
- View — odpowiada za wyświetlanie danych użytkownikowi. Są to komponenty UI, które pokazują informacje i przyjmują dane od użytkownika.
- ViewModel — pośrednik między Modelem a Widokiem. Zawiera logikę prezentacji, przekształca dane z Modelu w format odpowiedni dla View i obsługuje polecenia użytkownika.
Takie rozdzielenie pozwala na poprawę testowalności, utrzymania i ponownego użycia kodu. View i ViewModel zwykle łączą się za pomocą mechanizmów wiązania danych, co zmniejsza ilość kodu potrzebnego do aktualizacji UI.
Przykład w C# z użyciem 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));
}
}
Tutaj, ViewModel zawiera właściwość Name, którą View może wiązać do wyświetlenia i edycji.