Design Pattern – MVVM

Le patron de conception MVVM, signifiant Model View View-Model, est adapté pour la conception d’application proposant une forte interaction avec la vue, notamment les applications utilisant du data binding.

 

L’architecture MVVM sera très bien adapté pour les sites web avec Angular JS par exemple, mais aussi les applications Dot.Net utilisant le XAML pour leurs interfaces (Windows phone 7, WPF, Silverlight).

 

  • Model, « le modèle », correspond aux données et à l’accès de celles-ci. Le Model contiendra les objets mais aussi les services pour accèder aux sources de données, que ce soit une base de données, que des fichiers etc…

  • View, « la vue », correspond à tout ce qui sera affiché, c’est la structure de l’interface. Simplement, la vue ne doit contenir aucune logique, et ne doit s’occuper que d’afficher les informations.

  • View-Model, « modèle de vue », est la liaison entre le modèle et la vue, la logique entre les données et leur affichage. En claire, le View-Model se chargera de demander aux modèle les données et il fera lui même les traitements nécéssaires avant de l’envoyer à la vue.

mvvm-schema1

En une phrase, nous pouvons dire que le modèle de vue (View-Model) adapte le modèle (Model) pour la vue (View).

 

Note : Le patron de conception est une solution éprouvée et reconnue comme étant une bonne pratique à la résolution d’un problème récurrent dans la conception d’applications informatiques.

Il existe de nombreux “design pattern”, chacun spécialisé et proposant une modélisation des classes visant à résoudre le problème rencontré. De manière générale, il permet d’architecturer efficacement une application afin d’en faciliter la maintenabilité et la testabilité.