Le pattern MVC
Réalisé par : Lahribli
YASMINA
Plan
c’est quoi un pattern ?
Le pattern MVC
Les parties du MVC
•modèle
•vue
•contrôleur
Les interactions en MVC
Pourquoi utiliser le MVC ?
Pourquoi passer du MVC au MVC2 ?
C’est quoi un pattern
c’est un modèle simplifié qui représente
la structure d'une application.
il fait partie de la phase de conception
ce qui signifie qu’il intervient avant le
codage .
il décompose l’application en partie
séparées
en désignant un rôle précis pour
chacune d’elles.
Le pattern mvc
MVC permet de séparer les couches
logique d'une application.
c’est une façon d'organiser une application
en distinguant trois entités ayant chacune
un rôle précis dans l'interface :
• modèle : données (accès et mise à jour)
•Vue :interface utilisateur (entrées et
sorties)
•Contrôleur : gestion des événements et
synchronisation
Le modèle
Le Modèle représente les données de
l'application :
•Il assure la gestion de ces données et garantit
leur intégrité.
•Il offre des méthodes pour mettre à jour ces
données
•le modèle peut autoriser plusieurs vues
partielles des données dans le cas de données
importantes
La vue
Elle permet en premier lieu d’afficher une
présentation des données du modèle.
Elle reçoit tous les actions de l'utilisateur (clic
de souris, sélection d'une entrées, boutons,
…).
La vue utilise les données venant du modèle
pour l'affichage
Le Contrôleur
Le Contrôleur intercepte et route les requêtes
faites par le client :
Analyser la requête, soit extraire les
informations dans l'URL
Faire une mise à jour du modèle si nécessaire,
en lui passant des paramètres
Déterminer la vue à afficher et demander son
affichage
Les interactions en MVC
Les interactions en MVC
Modèle -> vue :transfert des données.
Contrôleur ->modèle :mise à jour des
données;
Contrôleur ->vue :synchronisation et
modification
vue -> contrôleur :transfert des
événements
Pourquoi utiliser le MVC?
Isoler le modèle de la vue et du contrôleur :
Mise a jour plus facile et l’interface est
indépendante
Isoler la vue et le contrôleur :
La vue et le contrôleur ne se connaissent pas
directement
Multiplier les vues d'un même modèle
Plusieurs vue peuvent s'appliquer à un même
modèle
Réutiliser les mêmes actions avec plusieurs
composants
il est possible de rendre communes certaines
MVC 1 & mvc 2
Tout d'abord MVC1 signifie MVC level 1.
Il existe aussi MVC1 pour MVC level 1.
Ce ne sont pas des versions de MVC,
mais MVC appliqués au web (niveau 1,
niveau 2).
Le mvc 1
Ce modèle est composé de :
-Un serveur web lié directement aux
JSP(représente la vue)
-Des JavaBeans qui représente le modèle
-le contrôleur est décentralisé car chaque
JSP
Traite ces propres facteurs de production
(paramètres du GET ou POST
Mvc 2
Dans ce 2eme modèle une Servlet joue le
rôle d’un contrôleur entre le navigateur
et le serveur ,
Le contrôleur centralise la logique de
l'envoi des demandes de la vue suivante.
Les applications implémentant ce modèle
sont plus facile à maintenir car la Servlet
contrôleur fournit un point de contrôle
unique pour la sécurité et l'exploitation
Mvc1 & mvc2
MVC level 1, c'est une architecture du
type :
- le contrôleur et la vue embarqués dans
des JSP
- le modèle de données par ailleurs
MVC level 2, c'est une architecture du
type :
- la vue dans des JSP
- le contrôleur dans une Servlet (unique)
- le modèle de données par ailleurs
Framework jee & mvc2
Struts2 :Framework open source pour le
développement des applications web.
Il contient :
-Un contrôleur central, configurable pour associer
des requêtes HTTP à des actions Java.
-Un ensemble de TLD pour faciliter l’écriture des
vues (JSP) et supprimer toute notion à du code
Java.
-Outils de mapping entre les formulaires des vues
et les objets Java (avec le pré-remplissage de
champ).
-Validation avancé des formulaires côté client et
serveur par simple configuration.
Conclusion
L’implémentation d MVC sous JEE
constitue un choix intelligent car il nous
donne la possibilité de faciliter la
gestion de nos application en plus il
sépare les couches logiques.
JEE propose plusieurs Framework se
basant sur le MVC chose qui rend nos
applications plus performantes , claires
et plus facilement modifiables.