Bonjour
Je suis sur un projet et j'aurais aimé avoir votre avis sur l'organisation du code afin que celui-ci respecte bien la philosophie de l'orienté objet (car si seul le résultat est important, je peux bidouiller et ça marche toujours).
Le programme Java est un jeu, c'est un client qui se connecte à un serveur et qui lui envoie des données et il reçoit les réponses du serveur. Le client dispose d'une interface graphique. Voilà les classes de mon programme :
Ihm -> la classe représentant l'interface graphique (Swing)
Partie -> la classe qui représente la partie
Communication -> c'est la classe qui s'occupe de l'envoi et réception avec le serveur
Joueur -> c'est le joueur avec ses stats
La classe Partie contient un objet Communication et un objet Joueur. Et la classe Ihm crée un objet Partie. Jusqu'ici, ça va...
Lorsque le Joueur veut envoyer un message au serveur, j'ai pensé qu'il devait l'envoyer à la Partie qui appelle la Communication qui envoie la requête. Et la réponse serait envoyée à Communication qui l'envoie à Partie qui la donne à Joueur.
Ainsi, j'ai pensé que la classe Communication devait avoir une référence sur l'objet Partie.
Donc j'ai le pseudo-code suivant :
Est-ce qu'avec la dernière ligne, c'est bien le modèle que j'ai décrit au-dessus que j'ai à savoir Comunication qui envoie à Partie qui envoie à Joueur ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 class Communication { Partie p ; // reference sur la partie en cours // methode qui attend la réception de données void listen() { // recoit un message msg p.joueur.setMsg(msg); }
Pour l'instant, j'utilise cette méthode mais j'ai vu l'excellent cours sur comment créer ses propres listeners, c'est peut-être plus propre.
Car ensuite, je vais devoir afficher des diagrammes sur mon interface graphique à chaque fois que le serveur envoie de nouvelles informations à la Partie...
Qu'en pensez-vous ?
Nas'
Partager