Accueil | Architecture | Programmation | Web Design | Commentaires | Archives 
Base de données | Conception et intégration SI | Programmation Objet | Services Web 
 
 
publicité
 
RECHERCHER:        

Conception: focus sur le Model-View-Controller (MVC)
Par Extern ZDNet,
Builder.com
 

Mardi 11 février 2003

Réagissez à cet article.


Le modèle MVC représente un complément fort utile aux outils du développeur, quel que soit le langage utilisé. Passage en revue de ses nombreux avantages et de ses quelques inconvénients.

Le Model-View-Controller (MVC) est un modèle de conception logicielle largement répandu; il a été créé dans les années 1980 par Xerox PARC pour Smalltalk-80. Plus récemment, il a été recommandé comme modèle pour la plate-forme J2EE de Sun et il gagne fortement en popularité auprès des développeurs ColdFusion et PHP. Le modèle MVC représente un complément fort utile aux outils du développeur, quel que soit le langage utilisé. Pourtant, malgré ses nombreux avantages, il présente quelques inconvénients.

Comment MVC fonctionne
MVC est un modèle de conception qui impose la séparation entre les données, les traitements et la présentation. C'est pour cette raison que l'application est divisée en trois composants fondamentaux: le modèle, la vue et le contrôleur. Chacun de ces composants tient un rôle bien défini.

La vue correspond à l'interface avec laquelle l'utilisateur interagit. Dans le cas des applications web, il s'agissait historiquement d'une interface HTML. Si le HTML reste l'interface dominante pour les applications web, de nouveaux formats sont rapidement apparus. Ce sont notamment Macromedia Flash et d'autres langages de balises tels que XHTML, XML/XSL, WML et les services web.

La gestion de toutes ces interfaces dans votre application devient de plus en plus difficile. L'un des grands avantages du MVC tient au fait qu'il gère l'utilisation de différentes vues pour votre application. Aucun traitement n'est effectué dans la vue; qu'il s'agisse d'une boutique en ligne ou d'une liste de salariés, elle sert uniquement à afficher les données et permettre à l'utilisateur d'agir sur ces données. Le deuxième composant du MVC, le modèle, représente les données et les règles métier. C'est là que s'effectuent les traitements. Les bases de données en font partie, de même que des objets tels que les EJB et composants ColdFusion. Les données renvoyées par le modèle sont indépendantes de la présentation, c'est-à-dire que le modèle ne réalise aucune mise en forme. Les données d'un seul modèle peuvent ainsi être affichées dans plusieurs vue. Cette capacité permet de factoriser le code, car le code du modèle n'est écrit qu'une seule fois puis réutilisé par toutes les vues.

Pour finir, le contrôleur interprète les requêtes de l'utilisateur et appelle du modèle et de la vue nécessaires pour répondre à la requête. Ainsi, lorsque l'utilisateur clique sur un lien ou soumet un formulaire HTML, le contrôleur ne produit rien et n'effectue aucun traitement. Il intercepte la requête et détermine quels modèles et quelles vues doivent êtres associés.

Pour résumer, une requête utilisateur est interprétée par le contrôleur, qui détermine quelles portions du modèle et de la vue doivent être appelées. Le modèle gère les interactions avec les données et applique les règles métier, puis renvoie les données. Enfin, le contrôleur sélectionne une vue et lui passe les données.

 
Page 2 : Pourquoi opter pour le MVC
 
E-mail Imprimer

  Talkback
Réagissez à cet article.
ok avec Seb, comment faire un projet san... - Greg (13/06/2005)
J'ai apprécié l'article mais j'ai été de... - Seb (01/03/2005)


 Liens sponsorisés

Entreprise : Toutes les solutions sécurité pour votre entreprise
Actualités : Recevez chaque jour le meilleur de l'actualité de ZDNet.fr