1.21k likes | 2.43k Views
Le Modèle MVC. Sous la direction de : Mr, ELHORE. Réalisé par : SENHAJI Saad. 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. Sommaire.
E N D
Le Modèle MVC Sous la direction de : Mr, ELHORE Réalisé par : SENHAJI Saad
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 Sommaire
Le Model-View-Controller (MVC) est un pattern d’architecture logicielle largement répandu. Il a été créé dans les années 1980 par TrygveReenskaug 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é. Introduction
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) L’architecture MVC
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, Le modèle
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. La vue
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 Contrôleur
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 Le cycle de vie d’une requête
Inconvénient MVC1 : • Multiplication du nombre de Servlets • Lourdeur de déclaration au niveau du Serveur d'Application • 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 MVC1 Vs MVC2
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…. J2EE et 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 avantages 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à. Les Inconvénients du MVC
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. Conclusion