|
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.
|
|
 |
|