Architecture MVC

Résolu
velocity Messages postés 204 Date d'inscription   Statut Membre Dernière intervention   -  
ghofraneTunis Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai une question à propos l'architecture MVC.
Est-ce que la communication entre les parties Modèle et Controleur ou modèle et Vue peut se faire directement par appel au méthodes des objets du modèle et vice versa ou est ce que ca doit être fait par envoie d'évènement ?

merci pour votre réponse.

A voir également:

4 réponses

mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
Bonjour,

En quel langage? En C? en java? en PHP?

dans quel environnement: Zend Framework?

A+
1
velocity Messages postés 204 Date d'inscription   Statut Membre Dernière intervention   6
 
salut ghofraneTunis,

merci pour votre réponse, J'ai enfin compris la solution en lisant l'article de MVC sur wikipédia. En fait comme vous l'avez dit toute modification du modèle doit passer par le controleur donc j'ai dût réorganiser le diagramme de classe pour qu'il respecte cette contrainte et je constate que ca rend le diagramme de séquence plus propre et plus compréhensible.

Pour réponde à vos questions :
1) La classe player représente un joueur avec son nom et ses contrôles, qui sont paramétrables à volontée, elle est consultable par le contrôleur pour connaitre le traitement à générer selon l'évènement reçu (qui est un objet Event) à partir de la vue.
2) GridViewer est un JPanel qui s'occupe de l'affichage d'une grille

merci encore pour votre aide,
1
ghofraneTunis Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Bonsoir velocity,
De rien.
Enchanté. ;)
0
velocity Messages postés 204 Date d'inscription   Statut Membre Dernière intervention   6
 
bonjour mpmp93 ,

merci pour votre réponse, je programme en java sous eclipse sans framework MVC .
J'essaye de réaliser le jeu tetris et j'essaye d'appliquer une architecture mvc comme suit.

Une Classe Grid dans le Modèle
Une Classe GridViewer dans la Vue
Une Classe Timer et une Classe Player dans le Controleur

J'hesite pour faire la communication entre ces différentes classes.
je ne sais pas s'il est correct lorsque je fait appel direct au méthodes de ces classes.
par exemple le Timer fait appelle à la méthode next() de Grid et ensuite Grid fait appelle à la méthode Paint() de GridViewer
Ou alors il faut faire la séparation totale entre ces différentes classes et réaliser la communication par envoit d'evènement et utilisation de différent Listeners.
0
ghofraneTunis Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Remarque :
1) Pourquoi tu as mi la classe Player dans le contrôleur : qu'est ce qu'elle fait exactement ?
2) Qu'est ce qu'elle fait la classe GridViewer ?
3) Le contrôleur c'est celui qui fait la coordination entre le modèle et la vue, en gérant les évènements. Le contrôleur n'effectue aucun traitement, ne modifie aucune donnée. Il analyse la requête du client et se contente d'appeler le modèle adéquat et de renvoyer la vue correspondant à la demande.
4) Dans ton cas, la classe Timer, appelle le modèle adéquat ( selon la requête de vue ) et là c'est bon.
0