Bonjour, j'avais une question concernant MVC.
Alors voila, en ce moment je développe un jeu Pac-Man très simple et je dois bien séparer la partie "Model" de la partie graphique donc je me suis tournée vers le design pattern Observer et ensuite sur l'architecture MVC pour faire la chose vraiment proprement. Mais je n'arrive pas à régler un problème concernant l'accès au model, je passe par le contrôleur pour toute modification des données de mon model via mon interface graphique mais comment je peux avoir accès à mon model pour, par exemple, afficher la map qui est stockée dans celui-ci. Il faudrait que je passe en paramètre le model dans ma partie "interface graphique" ? Cela n'est pas incompatible avec MVC ?
J'ai griffonné rapidement un diagramme de classe pour essayer d'être un peu plus clair sur la conception de mon programme:
avec dans la classe "LancerPacMan":
Si vous avez aussi une suggestion pour l'ajout des Observer qui est, pour moi, pas très belle pour l'ajout de Pac-Man (getPM.add...) et la Map ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package jeu; import controller.Controller; import model.Modelisation; import view.Fenetre; public class LancerPacMan { public static void main(String[] args) { Modelisation model = new Modelisation(); Controller control = new Controller(model); Fenetre fenetre = new Fenetre(control); // La fenêtre devient observeur du model model.addObserver(fenetre); model.getPM().addObserver(fenetre); model.getMap().addObserver(fenetre); } }
et voici à quoi ressemble mon interface basique:
Merci pour l'aide ! Bonne journée.
Partager