• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
WPF MVVM
 

WPF MVVM

on

  • 1,899 views

 

Statistics

Views

Total Views
1,899
Views on SlideShare
1,899
Embed Views
0

Actions

Likes
0
Downloads
38
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • C'est beau, ça tourne, c’est tres attirant aussi ... La FNAC vous propose un guide d'achat interactif en WPF.
  • Un projet« wpf », contient l’ensemble des ressources de l’application : des fichiers XAML décrivant l’interface utilisateur, Le XAML (eXtensible Application MarkupLanguage) est un langage déclaratif basé sur la syntaxe du XML. Il permet de définir des objets dynamiquement grâce aux balises (équivalent des classes) et aux attributs (équivalents aux propriétés) XAML.Un projet« wpf », contient l’ensemble des ressources de l’application : des fichiers XAML décrivant l’interface utilisateur, Le XAML est un langage déclaratif basé sur la syntaxe du XML. Il permet de définir dynamiquement des objets grâce aux balises (équivalent des classes) et aux attributs (équivalents aux propriétés). des fichiers C# contenant le code behind encapsulant la logique métier de l’applicationet des différentes ressources telles que composants additionnels, fichiers de données, images ou vidéos, etc…
  • Tout d'abord, jetons le regard à certains problèmes typiques de développement qui nous rencontrent souvent.
  •  Premièrement, il ya une tendance pour les logiciels de devenir étroitement couplés, ce qui rend difficile l'entretien et l'extension.Il est également très facile de combiner l'état, la logique et la présentation dans les UICes deux problèmes se combinent, avec d'autres, pour rendre le code très difficile à tester.Il rend également difficile pour les concepteurs de travailler comme ils sont liés à des contrôles d'interface utilisateur écrit par le développeur.
  •  Nous devons avoir une solution qui encourage la séparation des préoccupationsfournit un modèle très naturel pour le développement en XAML.Tout cela augmente la testabilité et aide également le workflow développeur concepteur.
  • Maintenant comme nous avons pris un bref regard sur le type des problèmes MVVM, nous allons avoir un aperçu du modèle lui-même.
  • .
  • .

WPF MVVM WPF MVVM Presentation Transcript

  • Le 14/11/2011 ATELIERSWPF - MVVM
  • Plan de la présentation • I- Partie Théorique • Introduction de WPF • WPF vs WinForms • Avantages / Inconvénients WPF • Problèmes de développement • Pattern de conception MVVM • II- Partie Pratique • WPF et MVVM • Introduction du MVVM Light Toolkit • MVVM Light Toolkit in WPF • Conclusion
  • PARTIE THEORIQUE
  • Introduction• Arrivée Windows VISTA Au niveau de la communication (WCF) Au niveau de l’affichage (WPF) Le systéme de fichiers 4
  • Carte d’identité 5
  • WPF VS Winforms
  • Exemple d’applications 7
  • Avantages WPF• Utilisation du GPU• Séparation code / design
  • Avantages WPF• Graphismes vectoriels• Transparence par pixel• Animations• Adaptation à la résolution • Support du data binding
  • Inconvénients WPF• Not Freeware• Manque d’interopérabilité• Tout est à refaire ?
  • Structure du projet Projet WPF N `     … 11
  • Outils & Matériel nécessaires • Outils Microsoft pour les développeurs et les designers Avec XAML, les développeurs • Programmation déclarative avec et les designers peuvent XAML affiner leur collaborationLes designers conçoivent les UI les développeurs ajoutent la logique métier
  • PROBLÈMES DÉVELOPPEMENT
  • Problèmes typiques de développement• Code étroitement couplé qui est difficile à maintenir et à étendre.• Il peut être difficile de séparer l‘état, la logique et la présentation UI.• Il est difficile de tester létat et la logique UI.• Le concepteur est lié aux composants UI écrits par le développeur.
  • PATTERNS DE CONCEPTION
  • Solution …??• Code étroitement couplé qui est difficile à maintenir et à étendre.• Il peut être difficile de séparer l‘état et la logique UI de la présentation UI.• Il est difficile de tester létat et la logique UI.• Le concepteur est lié aux composants UI écrits par le développeur.
  • MVvMMVC MVP
  • MVCModel – View – Controller • Considéré comme le premier motif pour séparer l‘UI, les données et la logique métier • Controller gère toute logique, y compris les événements souris et clavier
  • MVPModel – View – Presenter • Variation du MVC • Adapté pour l’UI qui gère mieux les événements souris et clavier • Presenter dépend de la View
  • MVvMModel – Vos données • Entities • Service Proxy • POCO • Données XML
  • MVvMView – UI XAML (WPF)
  • MVvMViewModel – Le modèle de la vue •Etats •Opérations •Ne dépends pas de la View
  • Data Binding
  • QUAND UTILISER QUOI?• MVC – Lien View- Reste Programme pas toujours disponible (Microsoft ASP.NET MVC).• MVP – Liaison via un DataContext pas possible(WinForms)• MVvM – Liaison via un DataContext est possible (WPF)
  • MVvM Pas de code-behind dans XAML ViewModel passé comme DataContext pour UI ViewModel et Model ne doivent pas accéder à nimporte quel composant ou objet UI ViewModel hérite de INotifyPropertyChanged. – source de liaison ViewModel encapsule Model
  • PARTIE PRATIQUE
  • WPF ET MVVM
  • MVVM LIGHT TOOLKIT
  • Pourquoi ? • Accélérer le développement dapplications MVVM – WPF – Silverlight – Windows Phone. • Séparer la View du Model • Créer des applications testables
  • Composition Une dll « GalaSoft.MvvmLight.dll » RelayCommand – RelayCommand<T> Messenger ViewModelBase
  • MVVM LIGHT IN WPF
  • Conclusion Faciliter la réalisation dune application WPF • Abstraction de la vue • Réduction du code dans le code-behind • Classes Vue-Modèle testables • Amélioration du workflow dev/ designer 32