Vous êtes sur la page 1sur 21

MODEL DE CONCEPTION

MVC

Presenter par :
Khodja wissam
houcine
Kaid naziha

Evaluer par
Monsieur:

PLAN DE TRAVAILLE

Prsentation
introduction
Principe:
La couche Model
La couche Vue
La couche Controller
Exemple.
Conclusion.
2

Prsentation
Cette prsentation a pour but de vous
faire dcouvrir les aspects importants
et fortement utiliss du design pattern
MVC.

INTRODUCTION
MVC est un design pattern (modle de conception ou
DP) de conception dinterface utilisateur permettant
de dcouper en trois partie :
le modle :logique mtier et accs aux donnes.
la vue: interfaces utilisateur ,prsentation des
donnes et interface de saisie pour lutilisateur.
Le contrleur :permet de faire le lien entre la
vue et le modle
Des modifications de lun nauront ainsi,
idalement, aucune consquence sur lautre ce qui
facilitera grandement la maintenance.
4

Des modifications de lun nauront ainsi, idalement,


aucune consquence sur lautre ce qui facilitera
grandement la maintenance.

PRINCIPE

1. La couche Model:
La couche Model reprsente la partie de lapplication
qui excute la logique mtier. Cela signifie quelle
est responsable de rcuprer les donnes, de les
convertir selon des concepts chargs de sens pour
votre application, tels que le traitement, la
validation, lassociation et beaucoup dautres tches
concernant la manipulation des donnes.
6

A premire vue, lobjet Model peut tre vu comme la


premire couche dinteraction avec nimporte quelle base
de donnes que vous pourriez utiliser pour votre
application. Mais plus globalement, il fait partie des
concepts majeurs autour desquels vous allez excuter
votre application.

Dans le cas dun rseau social, la couche Model soccupe


des tches comme de sauvegarder des donnes, de
sauvegarder des associations damis, denregistrer et de
rcuprer les photos des utilisateurs, de trouver des
suggestions de nouveaux amis, etc ... Tandis que les

2. La couche Vue:
La Vue retourne une prsentation des donnes
venant du model. Etant spare par les Objets
Model, elle est responsable de lutilisation des
informations dont elle dispose pour produire une
interface de prsentation de votre application.

Par exemple, de la mme manire que la couche


Model retourne un ensemble de donnes, la Vue
utilise ces donnes pour fournir une page HTML les
contenant. Ou un rsultat XML format pour que
8

La couche Vue nest pas seulement limite au HTML


ou la reprsentation en texte de donnes. Elle peut
aussi tre utilise pour offrir une grande varit de
formats en fonction de vos besoins, comme les
vidos, la musique, les documents et tout autre
format auquel vous pouvez penser.

3. La couche Controller
La couche Controller gre les requtes des utilisateurs. Elle est
responsable de retourner une rponse avec laide mutuelle des
couches Model et Vue.

Les Controllers peuvent tre imagins comme des managers


qui ont pour mission que toutes les ressources souhaites pour
accomplir une tche soient dlgues aux travailleurs corrects.
Il attend des requtes des clients, vrifie leur validit selon
lauthentification et les rgles dautorisation, dlguent les
donnes rcupres et traites par le Model, et slectionne les
type de prsentation correctes que le client accepte, pour
finalement dlguer le processus daffichage la couche Vue.
10

Architecture de model MVC


11

ARCHITECTURE MODELE-VUE-CONTROLEUR

12

EXEMPLE : CALCULATRICE

Dans une application structur MVC


voici ce quil peut passer :
Utilisateur effectue une action sur votre
cal.
Le model reoit les donnes
Le mode notifie la vue.
L'affichage de la vue

13

Voil donc notre liste de mthodes pour


cet objet. Cependant, puisque notre
contrleur doit interagir avec le
modle, il faudra qu'il possde une
instance de notre modle.

14

15

Voici le plus facile dvelopper et ce que


vous devriez matriser le mieux La
vue sera cre avec le
packagejavax.swing. Je vous donne
donc le code source de notre classe que
j'ai mis dans le packagecom.sdz.vue.

16

17

import com.sdz.controler.*;
import com.sdz.model.*;
import com.sdz.vue.Calculette;
public class Main {
public static void main(String[] args) {
//Instanciation de notre modle
AbstractModel calc = new Calculator();
//Cration du contrleur
AbstractControler controler = new CalculetteControler(calc);
//Cration de notre fentre avec le contrleur en paramtre
Calculette calculette = new Calculette(controler);
//Ajout de la fentre comme observer de notre modle
calc.addObserver(calculette);
}
}
18

TESTEZ CE CODE : LE TOUT FONCTIONNE TRS


BIEN ! TOUS NOS OBJETS SONT
INTERCONNECTS ET DIALOGUENT
FACILEMENT, COMME LE MONTRE LA FIGURE
SUIVANTE.

19

CONCLUSION

Avec ce pattern, le code est dcoup en trois parties logiques


qui communiquent entre elles :
Le modle (donnes)
La vue (fentre)
Le contrleur qui lie les deux.
L'implmentation du pattern observer permet au modle de
tenir informs ses observateurs.
L'implmentation du pattern strategy permet la vue d'avoir
des contrles diffrents.
Utiliser ce pattern permet de dcoupler trois acteurs d'une
application, ce qui permet plus de souplesse et une
maintenance plus aise du code.
20

Merci pour votre attention

21

Vous aimerez peut-être aussi