33
ATELIERS WPF - MVVM Le 14/11/2011

WPF MVVM

Embed Size (px)

Citation preview

  • 1. Le 14/11/2011 ATELIERSWPF - MVVM

2. Plan de la prsentation I- Partie Thorique Introduction de WPF WPF vs WinForms Avantages / Inconvnients WPF Problmes de dveloppement Pattern de conception MVVM II- Partie PratiqueWPF et MVVMIntroduction du MVVM Light ToolkitMVVM Light Toolkit in WPF Conclusion 3. PARTIE THEORIQUE 4. Introduction Arrive Windows VISTAAu niveau de la communication (WCF)Au niveau de laffichage (WPF)Le systme de fichiers 4 5. Carte didentit 5 6. WPF VS Winforms 7. Exemple dapplications 7 8. Avantages WPF Utilisation du GPU Sparation code / design 9. Avantages WPF Graphismes vectoriels Transparence par pixel Animations Adaptation la rsolution Support du data binding 10. Inconvnients WPF Not Freeware Manque dinteroprabilit Tout est refaire ? 11. Structure du projetProjet WPF N ` 11 12. Outils & Matriel ncessaires Outils Microsoft pour lesdveloppeurs et les designers Avec XAML, les dveloppeurs Programmation dclarative avec et les designers peuvent XAML affiner leur collaborationLes designers conoivent les UIles dveloppeurs ajoutent la logique mtier 13. PROBLMES DVELOPPEMENT 14. Problmes typiques de dveloppement Code troitement coupl qui est difficile maintenir et tendre. Il peut tre difficile de sparer ltat, lalogique et la prsentation UI. Il est difficile de tester ltat et la logique UI. Le concepteur est li aux composants UIcrits par le dveloppeur. 15. PATTERNS DE CONCEPTION 16. Solution ?? Code troitement coupl qui est difficile maintenir et tendre. Il peut tre difficile de sparer ltat et lalogique UI de la prsentation UI. Il est difficile de tester ltat et la logique UI. Le concepteur est li aux composants UIcrits par le dveloppeur. 17. MVvMMVCMVP 18. MVCModel View Controller Considr comme le premier motif pour sparer lUI, les donnes et la logique mtier Controller gre toute logique, y compris les vnements souris et clavier 19. MVPModel View Presenter Variation du MVC Adapt pour lUI qui gre mieux les vnements souris et clavier Presenter dpend de la View 20. MVvMModel Vos donnes Entities Service Proxy POCO Donnes XML 21. MVvMView UI XAML (WPF) 22. MVvMViewModel Le modle de la vueEtatsOprationsNe dpends pas de la View 23. Data Binding 24. QUAND UTILISER QUOI? MVC Lien View- Reste Programme pas toujoursdisponible (Microsoft ASP.NET MVC). MVP Liaison via un DataContext pas possible(WinForms) MVvM Liaison via un DataContext est possible (WPF) 25. MVvM Pas de code-behind dans XAML ViewModel pass comme DataContext pour UI ViewModel et Model ne doivent pas accder nimporte quel composant ou objet UI ViewModel hrite de INotifyPropertyChanged. source de liaison ViewModel encapsule Model 26. PARTIE PRATIQUE 27. WPF ET MVVM 28. MVVM LIGHT TOOLKIT 29. Pourquoi ? Acclrer le dveloppement dapplications MVVM WPF Silverlight Windows Phone. Sparer la View du Model Crer des applications testables 30. CompositionUne dll GalaSoft.MvvmLight.dll RelayCommand RelayCommandMessengerViewModelBase 31. MVVM LIGHT IN WPF 32. ConclusionFaciliter la ralisation dune application WPF Abstraction de la vue Rduction du code dans le code-behind Classes Vue-Modle testables Amlioration du workflow dev/ designer 32