19
Le Modèle MVC Réalisé par : SENHAJI Saad Sous la direction de : Mr, ELHORE

Le Modèle MVC

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Le Modèle MVC

Réalisé par : SENHAJI SaadSous la direction de : Mr, ELHORE

Sommaire IntroductionL’Architecture MVCLe modèleLa vueLe ContrôleurLe Cycle de vie d’une requête MVC1MVC2MVC1 Vs MVC2 J2EE et MVCAvantages 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 MVCBut :• 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 MVC2Inconvénient MVC1 :o Multiplication du nombre de Servletso Lourdeur de déclaration au niveau du Serveur d'Applicationo 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