IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Diagrammes de Classes Discussion :

Association : comment choisir le sens ?


Sujet :

Diagrammes de Classes

  1. #1
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 14
    Points : 33
    Points
    33
    Par défaut Association : comment choisir le sens ?
    Bonjour à tous,


    Je me pose beaucoup de questions pour les associations entre classes.

    Exemple : une REGION contient des DEPARTEMENTS (et donc un DEPARTEMENT appartient à une REGION).
    Est-ce que c'est la classe Region qui contient des classes Departements (une liste de départements) ou bien ce sont les classes Departements qui ont une référence vers une classe Region ?

    En fait, je me retrouve souvent à définir des relations bi-directionnelles pour pouvoir passer d'un coté ou de l'autre d'une association. Mais c'est trés mauvais pour le couplage...


    J'ai un autre exemple :
    Deux classes Categorie et Produit. Une classe Catégorie contient des Produits.

    Comment savoir la catégorie d'un produit ? Est-ce que je dois définir une classe ListeCategories avec une méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Categorie trouverCategorieDuProduit( Produit )
    ?

    Franchement je me perds dans les responsabilités. Qui doit être associer à qui ?

    Est-ce qu'il existe une régle pour définir les directions des associations ?


    Merci beaucoup,

    G.-perdu dans son design...

  2. #2
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    La règle en la matière c'est de définir le sens le plus approprié à la navigation que tu vas avoir à faire dans ton modèle.
    Dans le cas Departement-Region, si la dynamique de ton application fait que c'est plutôt depuis la region que l'on accède aux départements alors il vaut mieux que la classe Region stocke une liste des Departements.
    De toute manière, tu pourras toujours retrouver depuis un département la region qui le contient en parcourant toutes les régions et en leur demandant "eh, region est ce que tu contient ce département X ? Mais tu vois bien que là, il va falloir faire un traitement et non un simple accès via une référence; ce qui n'est peut être pas si grave si cela n'arrive pas souvent et/ou qu'il n'y a pas beaucoup de regions.

    Bref, d'une manière générale, il est quand même plus simple de gérer des liens mon-directionnels que des Bi où il faut mettre à jour les 2 extrémités de l'association. Ceci dit avec un pattern simple, appliqué à toutes tes relations bi-directionnelles tu peux toujours t'en sortir.

  3. #3
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 14
    Points : 33
    Points
    33
    Par défaut
    Hum, ok.

    Merci pour la réponse, je vais partir de ce principe "d'usabilité" pour mes associtations.


    G.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 15/08/2005, 18h13
  2. [Lumières] Comment choisir les lumières à activer ?
    Par bigquick dans le forum OpenGL
    Réponses: 3
    Dernier message: 30/10/2004, 01h58
  3. Classe d'association ? comment est ce implémenté ??
    Par clawhammer dans le forum Diagrammes de Classes
    Réponses: 3
    Dernier message: 16/09/2004, 19h40
  4. [JSP][Tomcat] COmment choisir la place des fichiers .class?
    Par mathieu dans le forum Tomcat et TomEE
    Réponses: 16
    Dernier message: 03/03/2004, 09h24
  5. Comment choisir une langue differente de la locale?
    Par julian_ross dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 01/03/2004, 18h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo