1 

Le modèle MVC

Le Modèle MVC

1. Les origines du modèle MVC
2. Qu'est ce qu'une architecture MVC ? 3. Un Schéma du Model-View-Controller
4. Quels sont ses avantages ?
5. Quels sont ses inconvénients ?
6. Conclusion

1. Les origines du modèle MVC

Le Model-View-Controller (MVC) est né en 1980. Au départ créé par Xerox PARC pour Smalltalk (langage orienté objet), il a été depuis emprunté par les réalisateurs de Apple Lisa et Macintosh. Le modèle MVC constitue effectivement un élément très utile au développeur quel que soit le langage utilisé. De plus en plus apprécié des programmeurs Colfusion ou php, il a été récemment recommandé comme modèle pour plate-forme J2EE de SUN.

2. Qu'est ce qu'une architecture MVC ?

Le modèle MVC est un schéma de programmation qui prend en compte toute l'architecture d'un programme et classe les différents types d'objets qui composent l'application dans 3 catégories :
a. les objets " view ",représentation visuelle du " model ":
Les objets " view " sont la vue de l'application, l'interface avec laquelle l'utilisateur communique. Ils ne s'occupent pas de la gestion ou du stockage des données puisque aucun traitement ne doit être effectué dans cette partie mais affichent les résultats provenant des objets " model " et s'assurent que ces données sont correctement affichées. Les objets " view " n'ayant pas de contact direct avec les objets " model " , ils sont notifiés des changements par l'intermédiaire des objets " controller ".
b. les objets " model ",représentation logique de l'interface utilisateur :
Les objets " model " représentent les données de l'application( les bases de données en faisant partie) et définissent la logique de manipulation de ces données. C'est dans cette partie que vont s'effectuer les traitements, on ne s'occupe absolument pas de la mise en forme mais bien des données seules. Dans une application respectant les règles du modèle MVC, les données les plus importantes seront encapsulées dans les objets "model".
c. les objets " "controller ", gérant l'interaction avec l'utilisateur :
C'est donc ici que va se réaliser l'interaction entre les objets " view " et les objets " model ". En effet, les objets " controller " reçoivent les requêtes utilisateur puis détermine quelles parties des objets " view " et " model " sont requises. Ils constituent donc l'intermédiaire entre les deux autres types d'objets.

3. Un Schéma du Model-View-Controller

4. Quels sont ses avantages ?

Le modèle MVC impose donc une séparation totale entre le traitement, l'interface et la communication entre ses deux parties. Cela permet d'avoir non seulement des objets réutilisables pour d'autres applications, mais aussi de pouvoir faire évoluer aisément son programme. Ainsi, si l'on souhaite modifier sa base de données il suffit de revoir son " model " et cela est valable pour le cas ou l'on souhaite changer d'interface. Les 3 parties du model MVC sont réellement autonomes. Aucunes d'elles ne s'occupent du fonctionnement de l'autre.

5. Quels sont ses inconvénients ?

L'aspect pouvant freiner certains développeur est que l'utilisation de l'architecture MVC n'est pas des plus simples. Elle nécessite effectivement un travail de conception préalable pouvant être assez fastidieux. De plus, la séparation de l'application en 3 couches implique, d'une part, l'utilisation d'un plus grand nombre de fichiers, et d'autre part un débogage plus difficile. Cependant après avoir gérer toutes les exceptions d'un objet, il sera parfaitement réutilisable. De tout ceci résulte que l'architecture MVC est recommandée pour des " grosses " applications. Effectivement, le temps de travail de conception serait trop important pour une " petite " voire " moyenne " application. Ainsi en obligeant le développeur à séparer le modèle de la vue et du contrôleur, cela lui permet de repenser son application et à réfléchir correctement à la structure de son application.

6. Conclusion

Si l'on est prêt à prendre le temps pour ce travail, le modèle MVC garantit d'avoir une application d'un niveau réellement élevé de réutilisation du code et d'organisation.

1 

Retrouvez ci-dessous les autres sections du Laboratoire Sun
Evènements
Java Sun Net Talk LIVE CHAT le 2 Avril à 16h303/29/08
SolarisSunDécouvrez les nouveaux Sun Fire sous Intel10/11/07
JavaValtech Days10/9/07
JavaApacheCon du 1 au 4 mai à Amsterdam2/13/07

Exemples de code
JavaManipuler les looks and feel (lister et affecter)10/15/07
JavaFaire sa propre injection de dépendance avec les annotations5/9/06
JavaSplash screen avec progress Bar5/5/06
JavaFaire un splash screen en swing5/5/06

Actualités
SunProjet Kenai: une nouvelle forge open source10/3/08
SunSun Microsystems en forme !8/4/08
SunOpenDS un ldap 100% java7/24/08
SunSun et Fujitsu annoncent un nouveau Sparc647/16/08
SunVisualVM, un outil de surveillance des applications Java7/10/08

Tips du laboratoire
EclipseVisual Editor avec Eclipse Europa, c'est possible3/28/08
EclipseGérer les projets dans un workspace.10/16/07
JavaManager votre server d'application avec Eclipse4/21/07
JavaVue des sub-packages avec Eclipse4/21/07
JavaGlisser-déposer avec Eclipse4/21/07

Laboratoire SUPINFO des technologies Sun
labo-sun@supinfo.com


Conditions d'utilisation et © Copyright SUPINFO International University
23, rue de Château Landon - 75010 PARIS - Tél : +33 (0) 153359700 Fax : +33 (0) 153359701
Respect de la vie privée