90 likes | 284 Views
Arkadiusz Paliński. Model – View – View Model. Agenda. 0 . SL / WPF 1. Czym jest MVVM ? V – View , M – Model, VM – View Model 2. Demo 3. Podsumowanie. SL / WPF. XAML ( + code behind [. cs ]) Binding DataContext MVVM: INotifyPropertyChange ICommand. Czym jest MVVM?.
E N D
Arkadiusz Paliński Model – View – View Model
Agenda • 0. SL / WPF • 1. Czym jest MVVM? • V – View, M – Model, VM – View Model • 2. Demo • 3. Podsumowanie
SL / WPF • XAML ( + codebehind [.cs]) • Binding • DataContext • MVVM: • INotifyPropertyChange • ICommand
Czym jest MVVM? • wzorzec architektoniczny • MVC – MVP – MVVM • technologie WPF / SL
View View • usercontrol (xaml) • prezentacja informacji (binding) • przyjazny interfejs – style, template’y, animacje(MS Expression Blend) • interakcja z użytkownikiem (ale nie obsługa zdarzeń) • codebehind – możliwie mało
Model Model • obiekty domenowe aplikacji • przechowywanie danych • walidacja
Model • View • View Model VM:Model of theView • łą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) • 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
Demo • aplikacja SL (OOB) • zarządzanie użytkownikami • model : User • view: UserManagementView • view model: UserManagementViewModel • repozytorium użytkowników : FakeUserRepository
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, nRoutei wiele wiele innych • Obecny standard tworzenia aplikacji WPF / SL / WP7