Lien entre interface graphique et modèle logique

eplanet Messages postés 112 Date d'inscription dimanche 6 juin 2004 Statut Membre Dernière intervention 19 septembre 2007 - 22 juin 2007 à 12:13
eplanet Messages postés 112 Date d'inscription dimanche 6 juin 2004 Statut Membre Dernière intervention 19 septembre 2007 - 25 juin 2007 à 09:27
Bonjour à tous, je n'ai pas beaucoup d'expérience dans les interfaces graphiques java, c'est pourquoi j'aurai besoin de quelques conseils. Il s'agit surtout de problèmes concernant l'architecture de mon application (que j'ai ici simplifiée) :

J'ai une classe singleton Ville, une classe Batiment, et une classe Personne. Mon objet de type Ville contient une liste de batiments, et chaque batiment contient une liste de personnes.
J'ai besoin d'afficher la représentation de ce système. Les personnes sont représentées par des composants contenue dans un composant représentant leur batiments, lui-même contenu dans un composant représentant la ville. Je dois séparer l'interface graphique de la représentation logique de mon système, c'est pourquoi j'ai créé les classes VilleI, BatimentI et PersonneI chargées de représenter une ville, un batiment et une personne.

Je me demande comment relier ces classes avec les classes du modèle. Est-ce que chaque batiment doit avoir une instance de BatimentI dans ses attributs ? Comment faire pour que les personnes s'affichent dans les batiments ?

Merci beaucoup !

Vince

3 réponses

cs_shown Messages postés 40 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 24 décembre 2007
23 juin 2007 à 00:42
Je ne vois pas trop le rapport avec ton interface graphique..
Il faudrait que tu fasses le modèle UML de ton application, ce serait plus simple pour comprendre.

Sinon d'après ce que je comprends, Ville est singleton, donc ton interface communiquera avec cette classe.
Par contre pour les classes VilleI, BatimentI et personneI je ne comprends pas le but.
Tu ne peux pas simplement faire des agrégations entre tes 3 classes ?
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
23 juin 2007 à 17:28
si j ai bien compris !  ;o) tu as 3 classes de donnée ville, batiment et personne et tu doit en faire une representation graphique

fait le point sur les element graphique que tu as (probablemnt 3 aussi)  ;o)
ensuite si tu veux utiliser les interfaces tu fais le point aussi sur les methodes d acces au donné qui te seront nécéssaire pour en faire une ou plusieurs interface que tu pourras implementer directement à tes classes de base Batiment,....
et utilliser dans tes class graphique

Exemple ébauché ;o)  :

class Ville implements IVille
{
Vector getBats() {} // provenant de l interface IBat
}

class VilleGraph implement  Graphable  // ;o) interface pour le fun
{
IVille ville = null;
   public BatGraph( IVille ville ){ this.ville = ville;}
public draw()

for( IBat bat:ville.getBats() )
{ new BatGraph( bat ).draw() //ex de trt sur le bat } //pas forcement itératif }
}

exemple de ce que pourrai etre en  gros le squellette d une class graph mais biensur plusieurs soluce sont possible comme de preparer les données ds le constructeur ou de passer tout en param dans draw...

désoler pour la presentation du code mais c est fait à l arrache ;o) sans EDI

[purple]GodConan/purple[:o)]
0
eplanet Messages postés 112 Date d'inscription dimanche 6 juin 2004 Statut Membre Dernière intervention 19 septembre 2007
25 juin 2007 à 09:27
Merci pour vos réponse. Si j'ai bien compris, il faut que je crée des interface (au sens de java) pour faire l'interface graphique. Comme une interface ne peut pas implémenter de méthode, je dois donc implémenter ces méthodes graphiques dans les classes Ville, Batiment et Personne. Or, je ne veux pas mélanger la partie graphique er la partie logique...

Je pourrais donc faire un héritage entre classes plutôt mais au niveau sémantique, je ne trouve pas ça très top...
0