Le pattern MVVM

Model-View-ViewModel (MVVM) est un design pattern structurel pour séparer la logique du programme et les contrôles de l’interface utilisateur UI. MVVM est également connu sous le nom de model-view-binder et a été créé par les architectes Microsoft Ken Cooper et John Gossman.
 
 

 
 
Comme de nombreux autres design patterns, MVVM aide à organiser le code et à diviser les programmes en modules pour simplifier et accélérer le développement, la mise à jour et la réutilisation du code. Le pattern est souvent utilisé dans Windows et les logiciels de présentation graphique Web.

Le pattern MVVM est utilisé dans Windows Presentation Foundation (WPF), qui s’exécute sur .NET de Microsoft. Silverlight, un plug-in multimédia équivalent à Microsoft WPF Internet, utilise également MVVM.

La séparation du code dans MVVM est divisée en View, ViewModel et Model:

  • View est la collection d’éléments visibles, qui reçoit également les entrées de l’utilisateur. Cela inclut les interfaces utilisateur (UI), les animations et le texte.
  • ViewModel est situé entre les couches View et Model. C’est là que les contrôles d’interaction avec View sont hébergés, tandis que la liaison est utilisée pour connecter les éléments UI de View aux contrôles de ViewModel. Contrairement à la méthode du contrôleur, la méthode ViewModel repose fortement sur le frontend de l’application.
  • Model contient la logique du programme, qui est récupérée par le ViewModel lors de sa propre réception des entrées de l’utilisateur via « View ».

 
Cependant, le pattern MVVM a également ses propres défauts. Parce qu’il repose sur data binding, le ViewModel consomme une quantité considérable de mémoire par rapport à ses homologues. Le créateur du modèle MVVM lui-même, John Gossman, a déclaré que le surcoût pour la mise en œuvre de MVVM est « excessif » pour les opérations UI simples. Les grandes applications qui utilisent la méthode ViewModel deviennent régulièrement incroyablement difficiles à exécuter. Pour cette raison, le design pattern MVVM est principalement utilisé pour les applications monopage(SAP – single page applications) sur le Web.
 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.