La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

RDA 209 : WPF Toolkit et bonnes pratiques

Présentations similaires


Présentation au sujet: "RDA 209 : WPF Toolkit et bonnes pratiques"— Transcription de la présentation:

1

2 RDA 209 : WPF Toolkit et bonnes pratiques
8 Février 2010 Julien CORIOLAND Consultant Access It Yoann VUE Consultant Access It Julien date

3 Access It en quelques mots…
Consulting/expertise, réalisation (projet /assistance technique) et formation (CPLS) sur les technologies Microsoft Haut niveau de certification 2 agences à Lille et Paris, couverture nationale Centre des Usages pour la région Nord 3 grands domaines d’expertise technologique Plateforme applicative : SharePoint, SQL Server & BI, BizTalk .Net : architecture, Framework & langages, RIA/RDA (Silverlight, WPF, Surface), industrialisation/ALM (TFS/VSTS)… Infrastructure : poste de travail, serveurs, virtualisation, messagerie, annuaire… Julien date

4 Agenda Ce qu’il ne faudrait pas faire Rappels sur WPF/Silverlight
Design Patterns Injection de dépendances Toolkits / Frameworks remarquables Julien date

5 Démo WPF à la mode Winforms Yoann date

6 Quelques rappels sur WPF / Silverlight
Binding : Processus de liaison entre une donnée et l’interface graphique. DependencyObject / DependencyProperty Command : Mécanisme d’entrée permettant d’exécuter du code sur une action utilisateur. Edition et Validation : Mécanisme permettant l’édition de données et la mise en place de règle de validation sur les formulaires. Yoann ICommand : RoutedCommand, SimpleCommand, DelegateCommand IEditableObject IDataErrorInfo date

7 Quelques rappels sur WPF / Silverlight
Dependency Object : classe de base permettant d’utiliser le système de propriété WPF / Silverlight Dependency Property : propriété d’une classe sur laquelle on peut effectuer du binding, récupérer des notifications de changement, définir des métadonnées… Attached Property : Dependency Property déclarée par une classe et applicable sur une autre classe. date

8 Model – View – View Model
Créé pour WPF/Silverlight Dérivé de MVC / MVP Objectif : Découplage vue / métier Organisation du code XAML Code ? Binding Command Notification Changements Yoann View Model Model Etats et Opérations date

9 Model – View - ViewModel
Démo Model – View - ViewModel Yoann date

10 Attached Behavior Utilise les Attached Properties
Ajoute un comportement sur un Dependency Object Exemple : Attached Command Permet d’exécuter une commande lorsqu’un évènement est levé Traitement des évènements dans le ViewModel : Plus de code-behind ! Julien date

11 Démo Attached Behavior Julien date

12 Injection de dépendances
Objectifs: Problématique d’applications complexes : Plusieurs parties Assemblages tiers Différents services… Changer de dépendance en fonction du contexte d’exécution Couplage faible Tester sans dépendance (MOCK), données en design-time…. Julien date

13 Injection de dépendances
Une solution possible : Unity Framework Utilise des contrats (interfaces) Plus de travail sur implémentations concrètes Mapping Contrat / Implémentation On n’instancie pas les composants : Plus de new() ! Julien date

14 Injection de dépendances
Conteneur Unity Racine RegisterType<IMessageSender> RegisterType<ICustomerService> Conteneur Enfant # 1 Conteneur Enfant # 2 RegisterInstance<IOrderService> Julien Conteneur Enfant # 3 Resolve<IMessageSender> Resolve<IOrderService> date

15 Injection de dépendances avec Unity
Démo Injection de dépendances avec Unity

16 MvvmLight Structure et modèle de projet MVVM pour WPF/Silverlight
Intégré à Visual Studio et Expression Blend Des snippets pour Visual Studio Disponible sur CodePlex : Yoann date

17 MvvmLight Une classe de base pour les ViewModels
INotifyPropertyChanged Implémentation des commandes Implémentation du Messenger Communication au sein de l’application Envoi de messages entre instances (Commandes, MessageBox, PropertyChanged) Attached Behavior « EventToCommand » Yoann date

18 Utilisation de Mvvm Light
Démo Utilisation de Mvvm Light Yoann date

19 Cinch Framework Création d’applications WPF basées sur MVVM
Disponible sur CodePlex : ViewModels de base pour l’édition et la validation Utilitaires pour le pattern Observable Services basés sur Unity (MessageBox, OpenFileDialog…) Julien date

20 Cinch Framework Commandes Règles de validation depuis le ViewModel
Simple, Expression Régulière… Contrôle du cycle de vie de l’application Exécution de commande Julien date

21 Utilisation de Cinch Framework
Démo Utilisation de Cinch Framework Julien date

22 WPF/Silverlight Toolkits
Ensemble de contrôles et outils réutilisables Disponibles sur CodePlex : Intégration fréquente au .NET Framework Silverlight : Themes, Charts, DatePicker, WrapPanel, DataGrid, Viewbox… WPF: Charts, Visual State Manager , DatePicker, Calendar, DataGrid Yoann date

23 WPF et Silverlight Toolkit
Démo WPF et Silverlight Toolkit Yoann et Julien date

24 Synthèse WPF / Silverlight sont des technologies montantes
Déjà beaucoup d’outils et patterns adaptés Tout de suite partir sur de bonnes bases Ne pas réinventer la roue ! Julien date

25 Questions ? date

26 Quelques ressources… Liens: WPF Toolkit: http://wpf.codeplex.com
Silverlight Toolkit: Cinch Framework: MvvmLight: Pattern MVVM : Frameworks MVVM : Blogs:

27


Télécharger ppt "RDA 209 : WPF Toolkit et bonnes pratiques"

Présentations similaires


Annonces Google