Sobes.tech
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.