1 Model – View – View ModelArkadiusz Paliński
2 Agenda 0. SL / WPF 1. Czym jest MVVM? 2. Demo 3. PodsumowanieV – View, M – Model, VM – View Model 2. Demo 3. Podsumowanie
3 SL / WPF XAML ( + code behind [.cs]) Binding DataContext MVVM:INotifyPropertyChange ICommand
4 Czym jest MVVM? wzorzec architektoniczny MVC – MVP – MVVMtechnologie WPF / SL
5 View View user control (xaml) prezentacja informacji (binding)przyjazny interfejs – style, template’y, animacje (MS Expression Blend) interakcja z użytkownikiem (ale nie obsługa zdarzeń) code behind – możliwie mało View
6 Model obiekty domenowe aplikacji przechowywanie danych walidacja Model
7 VM:Model of the View View Model View Modelłączy dane zawarte w modelu z widokiem je wyświetlającym aggreguje modele niezbędne do prezentacji danego widoku wystawia własności dla widoku i notyfikuje o zmianach w modelu (INPC) View Model View Model zawiera logikę prezentacji obsługuje interakcję użytkownika (ICommand) korzysta z serwisów / repozytoriów widok nie rozmawia bezpośrednio z modelem, a model z widokiem
8 Demo aplikacja SL (OOB) zarządzanie użytkownikamimodel : User view: UserManagementView view model: UserManagementViewModel repozytorium użytkowników : FakeUserRepository
9 Podsumowanie Uporządkowana struktura projektułatwość utrzymania skalowalność Rozdzielenie odpowiedzialności Bindowanie danych Testowanie jednostkowe Podział designer – developer (design time data) Dostępne frameworki : MVVM Light, Caliburn, nRoute i wiele wiele innych Obecny standard tworzenia aplikacji WPF / SL / WP7