Le Modèle MVC

publicité
Le Modèle MVC
Sous la direction de :
Mr, ELHORE
Réalisé par : SENHAJI Saad
Sommaire
 Introduction
 L’Architecture MVC
 Le modèle
 La vue
 Le Contrôleur
 Le Cycle de vie d’une requête
 MVC1
 MVC2
 MVC1 Vs MVC2
 J2EE et MVC
 Avantages
 Inconvénients
 Conclusion
Introduction
• Le Model-View-Controller (MVC) est un pattern
d’architecture logicielle largement répandu. Il a été créé
dans les années 1980 par Trygve Reenskaug au Xerox
PARC
• Il repose sur la volonté de séparer les données, les
traitements et la présentation.
• Plus récemment, il a été recommandé comme modèle
pour la plate forme J2EE de Sun et gagne fortement en
popularité auprès des développeurs, quelque soit le
langage utilisé.
L’architecture MVC
 But :
• Isoler la donnée elle-même de sa présentation
• Distinguer la consultation de la modification
 Principe :
• Les 3 composantes suivantes d'une donnée sont
distinguées et séparées :
 Le modèle (sa structure)
 La vue (sa représentation pour affichage)
 Le contrôleur (les moyens de modifier la valeur)
Architecture du MVC
Le modèle
• Le modèle correspond aux données, la plupart du temps
stockées dans une base de données. Mais celles-ci peuvent
également êtres contenues dans un fichier XML ou dans
des fichiers texte.
• Les données peuvent être exploitées sous forme
de classes, dans un langage de programmation orientée
objet,
La vue
• Représente l'interface utilisateur. Elle n'effectue aucun
traitement, elle se contente simplement d'afficher les
données que lui fournit le modèle. Il peut tout à fait y
avoir plusieurs vues qui présentent les données d'un
même modèle.
• La vue correspond à un fichier HTML la plupart du
temps (peut être un fichier XML avec une feuille de
style XSL). Elle se contente d’afficher le contenu
qu’elle reçoit sans avoir connaissance des données.
Le Contrôleur
• Le contrôleur se charge d'intercepter les requêtes de
l'utilisateur, d'appeler le modèle puis de rediriger vers la
vue adéquate. Il ne doit faire aucun traitement. Il ne fait
que de l'interception et de la redirection.
Le cycle de vie d’une
requête
•
•
•
•
•
Le client envoie une requête à l'application
La servlet analyse la requête
Cette classe exécute les traitements
la servlet redirige la requête vers la page JSP
La JSP génère la réponse qui est renvoyée au client
Cycle de vie du modèle MVC
MVC 1
MVC 2
MVC1 Vs MVC2
Inconvénient MVC1 :
o Multiplication du nombre de Servlets
o Lourdeur de déclaration au niveau du Serveur d'Application
o Mises à jour peu aisées
• ● Modèle MVC2
• Une seule Servlet de contrôle servant d'aiguillage et à l'architecture
simple :
switch(pageSource) {
case page1 : pageSuite=traitement1();afficher(pageSuite);break;
case page2 : pageSuite=traitement2();afficher(pageSuite);break;
...
}
 En pratique : une classe par traitement
J2EE et MVC
• L'architecture J2EE permet de séparer les couches.
• La couche présentation, correspondant à l'interface
homme-machine(IHM).
• La couche métier contenant l'essentiel des traitements de
données.
• La couche de données correspondant aux informations de
l'entreprise stockées dans des fichiers, dans des bases
relationnelles ou XML, dans des annuaires d'entreprise..
J2EE et MVC
• Il y a plusieurs Framework qui permettent d’implémenter le
modèle MVC.
• Pour la couche Vue: Swing, AWT, JFC, struts, richfaces,
GWT, myfaces, icefaces, spring web MVC….
• Pour la couche modèle: on utilise des Framework pour
assurer la persistance des objets et le mapping objet
relationnel tel que hibernate,jpa,ibatis...
• Pour la couche métier: on peut utiliser des EJB, javabeans,
webservices….
Les avantages du MVC
L’approche MVC apporte de réels avantages:
• Une conception claire et efficace grâce à la séparation
des données de la vue et du contrôleur
• Un gain de temps de maintenance et d’évolution du site
• Une plus grande souplesse pour organiser le
développement du site entre différents développeurs
(indépendance des données, de l’affichage (webdesign) et
des actions)
Les Inconvénients du MVC
• L’inconvénient majeur du modèle MVC n’est visible que
dans la réalisation de petits projets, de sites internet de
faible envergure.
• En effet, la séparation des différentes couches nécessite la
création de plus de fichiers (3 fois plus exactement):
• Un fichier pour le modèle
• Un fichier pour le contrôleur
• Un fichier pour la vue
• Il n’est donc pas très intéressant de recourir à ce système
dans ce cas là.
Conclusion
• L’architecture MVC est une solution très intéressante et
très puissante, à mettre en œuvre dans de grands projets de
préférence.
• L’indépendance des trois couches est très importante, car
c’est grâce à cette différenciation que l’architecture puise sa
puissance et sa logique.
• Il est ainsi facile de mettre à jour le design de son site, sans
toucher aux données ni à la façon dont elles sont organisées.
Inversement, il est aussi facile de modifier la structure de
stockage des données ou la manière dont elles sont gérées
sans bouleverser l’affichage.
MERCI POUR VOTRE
ATENTION
Téléchargement