Section courante

A propos

Section administrative du site

Introduction

Le MVVM, tirant son nom de l'abréviation de l'anglicisme Model-View-ViewModel, est un pattern d'architecture logicielle principalement utilisé dans le développement d'applications avec des interfaces utilisateur riches (comme WPF, UWP, Xamarin, ou d'autres cadres d'applications .NET). Il découple la logique de présentation de la logique métier, facilitant ainsi le maintien, le test unitaire, et l'évolutivité de l'application.

Le sigle signifie :

Composantes détaillés

Fonctionnement

L'utilisateur interagit avec la View (exemple clique sur un bouton). La View déclenche une commande dans le ViewModel. Le ViewModel peut interroger ou mettre à jour le Model. Quand les données changent dans le ViewModel ou le Model, la View se met à jour automatiquement grâce au binding.

Voici un diagramme simplifié :

La flèche bidirectionnelle entre View et ViewModel correspond au data binding.

La flèche entre ViewModel et Model correspond à l'accès aux données et à la logique métier.

Avantages

Exemple

Voici un exemple simple en C# (WPF) :

  1. // Model
  2. public class Utilisateur
  3. {
  4.     public string Nom { get; set; }
  5.     public string Prenom { get; set; }
  6. }
  7.  
  8. // ViewModel
  9. public class UtilisateurViewModel : INotifyPropertyChanged
  10. {
  11.     private Utilisateur _utilisateur = new Utilisateur();
  12.     
  13.     public string NomComplet => $"{_utilisateur.Prenom} {_utilisateur.Nom}";
  14.     
  15.     public event PropertyChangedEventHandler PropertyChanged;
  16.     
  17.     protected void OnPropertyChanged(string propertyName) =>
  18.         PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
  19. }
  20.  
  21. // View (XAML)
  22. <TextBlock Text="{Binding NomComplet}" />


Dernière mise à jour : Lundi, le 22 décembre 2025