21
MODEL DE CONCEPTION MVC Presenter par : Evaluer par Khodja wissam Monsieur: houcine Kaid naziha

Mvc

Embed Size (px)

DESCRIPTION

Mvc expose

Citation preview

Page 1: Mvc

MODEL DE CONCEPTION MVC

Presenter par : Evaluer par Khodja wissam Monsieur: houcine Kaid naziha

Page 2: Mvc

2

PLAN DE TRAVAILLE Présentation introduction Principe: La couche Model La couche Vue La couche Controller Exemple. Conclusion.

Page 3: Mvc

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

Page 4: Mvc

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.

Page 5: Mvc

5

Des modifications de l’un n’auront ainsi, idéalement, aucune

conséquence sur l’autre ce qui facilitera grandement la

maintenance.

Page 6: Mvc

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.

Page 7: Mvc

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”.

Page 8: Mvc

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.

Page 9: Mvc

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.

Page 10: Mvc

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.

Page 11: Mvc

11

Architecture de model MVC

Page 12: Mvc

12

ARCHITECTURE MODELE-VUE-CONTROLEUR

Page 13: Mvc

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

Page 14: Mvc

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.

Page 15: Mvc

15

Page 16: Mvc

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.

Page 17: Mvc

17

Page 18: Mvc

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); }}

Page 19: Mvc

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.

Page 20: Mvc

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.

Page 21: Mvc

21

Merci pour votre attention