MVVM

Słownik kwalifikacji INF.04 - Projektowanie, programowanie i testowanie aplikacji

Co to jest MVVM?

MVVM to wzorzec projektowy używany często w aplikacjach z interfejsem graficznym, np. w aplikacjach XAML, WPF, Xamarin, .NET MAUI lub Android z Data Binding. Skrót oznacza: Model-View-ViewModel.

Elementy wzorca MVVM

  • Model - przechowuje dane i logikę biznesową aplikacji, np. użytkownika, produkt, zamówienie.
  • View - warstwa widoku, czyli interfejs użytkownika: okna, strony, kontrolki, etykiety, przyciski.
  • ViewModel - pośrednik między Modelem a Widokiem. Przygotowuje dane do wyświetlenia i udostępnia właściwości oraz komendy dla interfejsu.

Związek MVVM z data bindingiem

W MVVM widok zwykle nie pobiera danych bezpośrednio z modelu. Zamiast tego wiąże swoje właściwości z właściwościami ViewModelu.

Przykład:

<Label Text="{Binding UserName}" />

Właściwość Text etykiety jest powiązana z właściwością UserName w ViewModelu.

Zalety MVVM

  • oddzielenie wyglądu aplikacji od logiki,
  • łatwiejsze testowanie kodu,
  • mniej kodu obsługującego ręczne aktualizowanie interfejsu,
  • czytelniejsza struktura projektu.

Ważne na egzaminie

Jeżeli w pytaniu występują zapisy typu {Binding ...} albo @{viewmodel...}, chodzi najczęściej o powiązanie widoku z danymi. MVVM jest wzorcem, w którym taki mechanizm jest szczególnie często stosowany.