WPF : Pattern MVVM

Dérivé du pattern MVC, le pattern MVVM a été adapté pour architecturer les applications WPF. Il s’accompagne généralement d’autres patterns tels que le Locator et l’Injection de dépendances, permettant notamment de faciliter l’automatisation de tests unitaires.
Développement d'applications Windows
Filière
Windows
 
Code cours
MVVM
 
Niveau
Avancé
 
Durée
1 Jours

Participants

Ce cours s'adresse aux développeurs .NET qui développent des applications WPF sans utiliser le pattern MVVW et qui souhaitent comprendre l’intérêt de ces différents patterns et comment les mettre en œuvre.

Prérequis

Connaissance du langage XAML pour la conception d’interfaces et du C# sous Visual Studio. Expérience requise.

Profils : Developpeur Java, Developpeur .NET

Équivalence : Cours WPF

Objectifs

  • Rappels sur le DataBinding (configuration du mode de liaison, liaison sur un objet métier, interface INotifyPropertyChanged, liaison d’un ItemsControl, collection ObservableCollection<T>).
  • Rappel des techniques de validations (exceptions et IDataErrorInfo) avec affichage des erreurs.
  • Intérêt des commandes vs événements routés.
  • Simplifier les commandes avec la classe RelayCommand.
  • Comprendre l’architecture MVVM : découpage et interactions entre les différentes parties.
  • Savoir créer des tests unitaires des ViewModeles avec Visual Studio.

Travaux pratiques

  • Analyse d’une application liée à des données typique, en vue de son refactoring à partir d’une version en code-behind vers une architecture MVVM.
  • Création des ViewModels (classes BaseViewModel et RelayCommand).
  • Intégration des ViewModels aux vues de manière déclarative et par code.
  • Intégration des commandes avec gestion de la disponibilite de leur exécution.
  • Analyse des problématiques de couplage entre classes concrètes.
  • Principe des patterns DI (Injection de Dépendances) et Locator.
  • Principe du Mocking pour faciliter les tests.
  • Création et exécution de tests unitaires.