Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
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:
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.