{"id":6907,"date":"2022-10-18T14:30:10","date_gmt":"2022-10-18T14:30:10","guid":{"rendered":"http:\/\/commentouvrir.com\/blog\/?p=6907"},"modified":"2022-10-18T14:30:10","modified_gmt":"2022-10-18T14:30:10","slug":"quest-ce-que-mvvm-model-view-viewmodel-commentouvrir","status":"publish","type":"post","link":"https:\/\/commentouvrir.com\/blog\/quest-ce-que-mvvm-model-view-viewmodel-commentouvrir\/","title":{"rendered":"Qu&rsquo;est-ce que mvvm (model-view-viewmodel)? -CommentOuvrir"},"content":{"rendered":"<p>Model-View-ViewModel, ou MVVM, est un mod\u00e8le de conception de logiciel destin\u00e9 \u00e0 s\u00e9parer les commandes de l'interface utilisateur et la logique du programme dans Windows et les logiciels de pr\u00e9sentation graphique Web. Aussi connu sous le nom de model-view-binder, il permet de diviser les programmes en modules pour le d\u00e9veloppement et la r\u00e9utilisation du code d'une mani\u00e8re plus rapide et plus simple.<\/p>\n<p>D\u00e9riv\u00e9 du mod\u00e8le Model View Controller, MVVM aide \u00e0 r\u00e9soudre divers probl\u00e8mes de d\u00e9veloppement pour faciliter le test, l'affinage, la maintenance et l'\u00e9volution d'une application. Les concepteurs d'interface utilisateur trouvent le mod\u00e8le plus facile \u00e0 collaborer lors du d\u00e9veloppement des parties d'une application.<\/p>\n<h2>Le mod\u00e8le MVVM<\/h2>\n<p>Le mod\u00e8le MVVM comprend trois composants: le mod\u00e8le, la vue et le mod\u00e8le de vue.<\/p>\n<h3>Mod\u00e8le<\/h3>\n<p>Le mod\u00e8le contient les donn\u00e9es d'application qui sont g\u00e9n\u00e9ralement des structures ou des classes simples. Il peut \u00eatre consid\u00e9r\u00e9 comme une repr\u00e9sentation du mod\u00e8le de domaine de l'application, contenant un mod\u00e8le de donn\u00e9es avec une validation et une logique m\u00e9tier. Des exemples d'objets de mod\u00e8le sont les POCO (Plain Old CLR Objects), les objets de transfert de donn\u00e9es (DTO) et les objets entit\u00e9 et proxy g\u00e9n\u00e9r\u00e9s.<\/p>\n<h3>Consulter<\/h3>\n<p>La vue d\u00e9finit la disposition, la structure et l'apparence de ce que les utilisateurs voient \u00e0 l'\u00e9cran. C'est la seule chose que les utilisateurs finaux connaissent et avec laquelle ils interagissent. Dans MVVM, la vue est active, ce qui signifie qu'elle n'est pas compl\u00e8tement manipul\u00e9e par un pr\u00e9sentateur \/ contr\u00f4leur. Il comporte des \u00e9v\u00e9nements, des comportements et des liaisons de donn\u00e9es qui n\u00e9cessitent la connaissance du mod\u00e8le sous-jacent et du mod\u00e8le de vue.<\/p>\n<h3>Voir le mod\u00e8le<\/h3>\n<p>Le mod\u00e8le de vue est situ\u00e9 entre le mod\u00e8le et les couches de vue, qui contiennent les commandes d'interaction avec la vue. Il introduit la s\u00e9paration de pr\u00e9sentation ou l'id\u00e9e de s\u00e9parer les nuances de la vue du mod\u00e8le. Le mod\u00e8le de vue expose des commandes et des m\u00e9thodes et des points pour conserver l'\u00e9tat de la vue, d\u00e9clencher des \u00e9v\u00e9nements dans la vue et manipuler le mod\u00e8le.<\/p>\n<h2>Avantages de MVVM<\/h2>\n<p>Les concepteurs de logiciels pr\u00e9f\u00e8rent MVVM en raison de ses avantages:<\/p>\n<h3>Extensibilit\u00e9<\/h3>\n<p>MVVM permet aux concepteurs d'ajouter ou de remplacer facilement de nouveaux morceaux de code. Ils peuvent red\u00e9finir l'interface utilisateur de l'application sans toucher au code tant que le code est enti\u00e8rement en XAML.<\/p>\n<h3>Testabilit\u00e9<\/h3>\n<p>Il est plus facile pour les concepteurs d'\u00e9crire des tests unitaires par rapport \u00e0 la logique de base avec MVVM. Les tests unitaires du mod\u00e8le de vue exercent la m\u00eame fonctionnalit\u00e9 que celle utilis\u00e9e par la vue.<\/p>\n<h3>Transparence dans la communication<\/h3>\n<p>Le mod\u00e8le de vue donne au contr\u00f4leur de vue une interface transparente pour peupler la couche de vue et interagir avec la couche de mod\u00e8le. Cela se traduit par une communication transparente entre les couches d'une application.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Model-View-ViewModel, ou MVVM, est un mod\u00e8le de conception de logiciel destin\u00e9 \u00e0 s\u00e9parer les commandes de l&rsquo;interface utilisateur et la logique du programme dans Windows et les logiciels de pr\u00e9sentation graphique Web. Aussi connu sous le nom de model-view-binder, il permet de diviser les programmes en modules pour le d\u00e9veloppement et la r\u00e9utilisation du code &#8230; <a title=\"Qu&rsquo;est-ce que mvvm (model-view-viewmodel)? -CommentOuvrir\" class=\"read-more\" href=\"https:\/\/commentouvrir.com\/blog\/quest-ce-que-mvvm-model-view-viewmodel-commentouvrir\/\" aria-label=\"En savoir plus sur Qu&rsquo;est-ce que mvvm (model-view-viewmodel)? -CommentOuvrir\">Lire la suite<\/a><\/p>\n","protected":false},"author":2070,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[9],"tags":[],"class_list":["post-6907","post","type-post","status-publish","format-standard","hentry","category-wiki"],"modified_by":null,"_links":{"self":[{"href":"https:\/\/commentouvrir.com\/blog\/wp-json\/wp\/v2\/posts\/6907","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/commentouvrir.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/commentouvrir.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/commentouvrir.com\/blog\/wp-json\/wp\/v2\/users\/2070"}],"replies":[{"embeddable":true,"href":"https:\/\/commentouvrir.com\/blog\/wp-json\/wp\/v2\/comments?post=6907"}],"version-history":[{"count":0,"href":"https:\/\/commentouvrir.com\/blog\/wp-json\/wp\/v2\/posts\/6907\/revisions"}],"wp:attachment":[{"href":"https:\/\/commentouvrir.com\/blog\/wp-json\/wp\/v2\/media?parent=6907"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/commentouvrir.com\/blog\/wp-json\/wp\/v2\/categories?post=6907"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/commentouvrir.com\/blog\/wp-json\/wp\/v2\/tags?post=6907"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}