MVC et mon Application

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour tout le monde ! Je suis en train de développer.. Je sais pas ce que c'est précisément mais le but c'est de faire une application le plus maintenable possible avec une conception de Dieu etc. Le but en lui même c'est de pouvoir jouer à des jeux de cartes et en rajouter très simplement :)

Maintenant les détails passés, voici mon problème. J'ai fait un beau diagramme de classe (je le mettrais si vous en avez besoin) en appliquant des patterns etc, c'est tout beau tout propre, sauf que je n'ai pas tout a fait penser aux interfaces utilisateurs et l'affichage des données. J'ai mis en place des class abstraites etc mais je n'arrive pas à me rendre compte concrètement où je dois faire les echanges… J'ai donc penser au modèle MVC mais je ne sais pas vraiment comment l'implanter. Je met en spoiler le code interessant (je vous passe les getters et setters en tout genre notamment) ainsi que là ou, si j'avais fait à la bourrin, j'aurais mis mes affichages. Merci d'avance pour votre aide !

interface : UserInterface

1
2
3
4
   void displayRules(AGame g);
   void displayPublicCards(AGame g);
   void displayPrivateCards(Player p);
   void displayTable(AGame g);

class : AbstractGame

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
  /**
   * this is where the game is played
   */
  public final void play(){
      deal();
      while(!finished){
          turn();
      }
  }

  /**
   * this is a turn of "table"
   */
  private void turn(){
      for(Player p : players){
          individualTurn(p);
      }
  }

Ce que je voulais faire : Mettre l'ensemble des méthodes d'affichage avant "individualTurn", ce qui donne :

1
2
3
4
5
6
7
8
private void turn(){
      for(Player p : players){
           displayTable(this);
           displayPublicCards(this);
           displayPrivateCards(p);
          individualTurn(p);
      }
  }
+0 -0
Auteur du sujet

L'organisation, c'est du Java donc il n'y a pas de problème :). Le but du projet c'est que l'application puissent être portée à n'importe quel jeu et sur n'importe quel plateforme (en Java), donc on doit pouvoir faire une UI en console, en OpenGL, en Android etc :)

Je rajoute le DC dans mon poste d'ici quelques minutes (le temps de le regénérer)

Voici le lien. Je ne peux pas faire autrement que comme ça :/. J'essaie de trouver une solution

Édité par Ricocotam

+0 -0

C'est pas du MVC que tu es en train de faire j'ai l'impression (mais j'peux me tromper j'ai pas bien compris ta problématique), j'ai beaucoup plus l'impression que tu es en train de penser ton UI comme un Observer de l'état de tes données.

En fait, je ne vois pas vraiment où est le contrôleur dans le bout de code que tu as donné.

Le contrôleur est censé non seulement envoyer à la vue les bonnes données quand celle-ci en fait la demande, mais également mettre à jour les données en fonction des actions de tes utilisateurs.

Et en l'occurrence, je ne vois pas où cette partie est codée.

Que fait la méthode individualTurn ?

Là, tu as pensée ton UI comme observant tes données. Lorsque les données changent, tu rappelles toutes les méthodes displayXXX . Ca marche aussi, mais ce n'est pas vraiment le même pattern.

tl;dr : je ne vois pas de contrôleur dans le code que tu nous as montré.

Édité par Javier

Happiness is a warm puppy

+0 -0
Auteur du sujet

Effectivement, il n'y en a pas ^^ J'ai mal compris ce que les profs nous ont dit, je pensais qu'il fallait faire un MVC obligatoirement mais finalement non. Et j'avais pas compris non plus un autre truc qui était évident… Du coup je passe en résolu :)

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte