Upload
hamed-sselhachi
View
213
Download
0
Embed Size (px)
DESCRIPTION
Mvc expose
Citation preview
MODEL DE CONCEPTION MVC
Presenter par : Evaluer par Khodja wissam Monsieur: houcine Kaid naziha
2
PLAN DE TRAVAILLE Présentation introduction Principe: La couche Model La couche Vue La couche Controller Exemple. Conclusion.
3
Cette présentation a pour but de vous faire découvrir les aspects importants et fortement utilisés du design pattern MVC.
Présentation
4
INTRODUCTION
MVC est un design pattern (modèle de conception ou DP) de conception d’interface utilisateur permettant de découper en trois partie :
le modèle :logique métier et accès aux données.
la vue: interfaces utilisateur ,présentation des données et interface de saisie pour l’utilisateur.
Le contrôleur :permet de faire le lien entre la vue et le modèle
Des modifications de l’un n’auront ainsi, idéalement, aucune conséquence sur l’autre ce qui facilitera grandement la maintenance.
5
Des modifications de l’un n’auront ainsi, idéalement, aucune
conséquence sur l’autre ce qui facilitera grandement la
maintenance.
6
PRINCIPE 1. La couche Model:
La couche Model représente la partie de l’application qui
exécute la logique métier. Cela signifie qu’elle est responsable
de récupérer les données, de les convertir selon des concepts
chargés de sens pour votre application, tels que le traitement,
la validation, l’association et beaucoup d’autres tâches
concernant la manipulation des données.
7
A première vue, l’objet Model peut être vu comme la première
couche d’interaction avec n’importe quelle base de données que
vous pourriez utiliser pour votre application. Mais plus globalement,
il fait partie des concepts majeurs autour desquels vous allez
exécuter votre application.
Dans le cas d’un réseau social, la couche Model s’occupe des tâches
comme de sauvegarder des données, de sauvegarder des
associations d’amis, d’enregistrer et de récupérer les photos des
utilisateurs, de trouver des suggestions de nouveaux amis, etc ...
Tandis que les objets Models seront “Ami”, “User”, “Commentaire”,
“Photo”.
8
2. La couche Vue:
La Vue retourne une présentation des données venant du
model. Etant séparée par les Objets Model, elle est responsable
de l’utilisation des informations dont elle dispose pour
produire une interface de présentation de votre application.
Par exemple, de la même manière que la couche Model
retourne un ensemble de données, la Vue utilise ces données
pour fournir une page HTML les contenant. Ou un résultat
XML formaté pour que d’autres l’utilisent.
9
La couche Vue n’est pas seulement limitée au HTML ou à la
représentation en texte de données. Elle peut aussi être
utilisée pour offrir une grande variété de formats en fonction
de vos besoins, comme les vidéos, la musique, les documents
et tout autre format auquel vous pouvez penser.
10
3. La couche Controller La couche Controller gère les requêtes des utilisateurs. Elle est
responsable de retourner une réponse avec l’aide mutuelle des couches Model et Vue.
Les Controllers peuvent être imaginés comme des managers qui ont pour mission que toutes les ressources souhaitées pour accomplir une tâche soient déléguées aux travailleurs corrects. Il attend des requêtes des clients, vérifie leur validité selon l’authentification et les règles d’autorisation, délèguent les données récupérées et traitées par le Model, et sélectionne les type de présentation correctes que le client accepte, pour finalement déléguer le processus d’affichage à la couche Vue.
11
Architecture de model MVC
12
ARCHITECTURE MODELE-VUE-CONTROLEUR
13
EXEMPLE : CALCULATRICE Dans une application structuré MVC
voici ce qu’il peut passer : Utilisateur effectue une action sur votre
cal. Le model reçoit les données Le mode notifie la vue. L'affichage de la vue
14
Voilà donc notre liste de méthodes pour cet objet. Cependant, puisque notre contrôleur doit interagir avec le modèle, il faudra qu'il possède une instance de notre modèle.
15
16
Voici le plus facile à développer et ce que
vous devriez maîtriser le mieux… La vue sera créée avec le package javax.swing. Je vous donne donc le code source de notre classe que j'ai mis dans le packagecom.sdz.vue.
17
18
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 modèle AbstractModel calc = new Calculator(); //Création du contrôleur AbstractControler controler = new CalculetteControler(calc); //Création de notre fenêtre avec le contrôleur en paramètre Calculette calculette = new Calculette(controler); //Ajout de la fenêtre comme observer de notre modèle calc.addObserver(calculette); }}
19
TESTEZ CE CODE : LE TOUT FONCTIONNE TRÈS BIEN ! TOUS NOS OBJETS SONT INTERCONNECTÉS ET DIALOGUENT FACILEMENT, COMME LE MONTRE LA FIGURE SUIVANTE.
20
CONCLUSION
Avec ce pattern, le code est découpé en trois parties logiques qui communiquent entre elles : Le modèle (données) La vue (fenêtre) Le contrôleur qui lie les deux.
L'implémentation du pattern observer permet au modèle de tenir informés ses observateurs.
L'implémentation du pattern strategy permet à la vue d'avoir des contrôles différents.
Utiliser ce pattern permet de découpler trois acteurs d'une application, ce qui permet plus de souplesse et une maintenance plus aisée du code.
21
Merci pour votre attention