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

Design Patterns Discussion :

Hiérarchie de classe parallèles.


Sujet :

Design Patterns

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2003
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 87
    Points : 87
    Points
    87
    Par défaut Hiérarchie de classe parallèles.
    Bonjour,

    Je suis actuellement en train de modéliser mon application et je me demande si il existe un design pattern concernant mon problème.
    J'ai trois classes A, B et C. La classe A contient une liste de B et la classe C une liste de C. Les classes A, B et C sont toutes trois dérivées en AA, BB et CC. La classe AA contient une liste de BB qui contient une liste de CC.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    A  <>---  B  <>---- C
    ^         ^         ^
    |         |         |
    AA <>---  BB <>---  CC
    Comment se modélise ce genre de comportement?

    Je pourrais me contenter de l'héritage mais dans ce cas la je ne suis pas sur de que les objets AA n'ont que des objets BB dans leur liste.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    A  <>---  B  <>---- C
    ^         ^         ^
    |         |         |
    AA        BB        CC
    Je pourrais aussi ne pas utiliser la généralisation mais dans ce cas la je perds les avantages de l'héritage.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    A  <>---  B  <>---- C
    
    AA <>--- BB <>--- CC
    Je suis convaincu qu'il existe un moyen de modeliser ce comportement de manière élégante mais je n'arrive pas à trouver comment.

    Merci

  2. #2
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Ta première solution est la bonne. Il suffit juste de bien faire attention à masquer l'attribut référence (qui sert à la composition) dans chaque sous-classe.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  3. #3
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 533
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 533
    Points : 6 709
    Points
    6 709
    Par défaut
    Bonsoir,

    en fait 1 et 2 sont aussi bonnes l'une que l'autre, mais en ajoutant une information à chaque fois



    dans la solution 2 l'attribut n'est pas doublé, par contre le 'vrai' type de l'instance mise dans l'attribut de la classe A est un BB et non un B, et idem pour B avec C et CC. Pour montrer qu'un AA référence un BB il faut utiliser une contrainte, de même pour dire qu'un BB référence un CC



    au niveau programmation il faut utilisé la solution 1, la 2 utilisant inutilement trop de place.
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 13/07/2009, 14h36
  2. OneToMany sur une hiérarchie de classe
    Par jc63 dans le forum Hibernate
    Réponses: 2
    Dernier message: 03/09/2007, 12h12
  3. Schéma hièrarchie des classes
    Par LinuxUser dans le forum Langage
    Réponses: 1
    Dernier message: 13/05/2007, 18h13
  4. Hiérarchie de class et membres spécifiques
    Par bolhrak dans le forum C++
    Réponses: 6
    Dernier message: 23/10/2006, 13h23
  5. Réponses: 2
    Dernier message: 25/08/2006, 22h18

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