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 :

composite ou collection


Sujet :

Design Patterns

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut composite ou collection
    Bonjour,

    Je débute dans l'utilisation des designs patterns. J'aimerai les utiliser pour décrire un objet étagère dans lequel sont entreposés des objets boites dans lesquelles on trouve des objets pièces. Javai pensé au modèle composite mais je ne suis pas entièrement convaincu, je ne vois pas le lien d'héritage entre pièce et étagère.

    D'autre part, je dois pouvoir faire des recherches dans étagères et dans boites là je suis pratiquement sure que je dois utiliser le pattern visiteur.

    J'aimerai avoir votre avis.

    merci

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 89
    Points : 170
    Points
    170
    Par défaut
    Bonjour,

    Est-ce que vous essayez d'implémenter des design patterns en créant un problème, ou de résoudre un problème à l'aide de design patterns?

    Parce que je pense que pour le problème que vous décrivez, il n'y a aucun besoin de design pattern.
    La classe Boite possède une liste d'objets de type Pieces.
    La classe Etagère possède une liste d'objets de type Boite (plus éventuellement une liste de pièce qui ne sont pas dans des boites).

    La classe Boite implémente une méthode getPieces(), donc le contenu est trivial.
    La classe Etagère implémente une méthode getPieces(), qui va aggréger les pièces des boites (plus éventuellement les pièces directement dans l'étagère) et retourner le résultat.

    Si vous souhaitez utiliser le pattern composite, il faudra sacrifier la sémantique et considérer qu'une étagère puisse être contenue dans une autre étagère ou dans une boite .
    Par contre effectivement, piece ne rentre pas dans le pattern composite.
    Cette classe a un rôle totalement différent de Boite et Etagère.

    Concernant le pattern Visiteur, il peut être utilisé.
    Cependant il répond à un problème qui ne se présente pas réellement dans votre cas.
    Il existe des solutions plus simples pour votre problème actuel : La solution indiquée plus haut, on peut aussi envisager une classe ConteneurDePièces dont seraient dérivées les classes Etagère et Boite.

Discussions similaires

  1. [2.x] validation collection composite keys
    Par symfony_dev dans le forum Symfony
    Réponses: 0
    Dernier message: 10/05/2012, 23h01
  2. PrimaryKey, ForeignKey composites et collections
    Par delirii dans le forum JPA
    Réponses: 1
    Dernier message: 16/06/2009, 19h22
  3. Réponses: 8
    Dernier message: 16/01/2007, 12h16
  4. Comment créér une collection sous Delphi
    Par PsyKroPack dans le forum Langage
    Réponses: 6
    Dernier message: 11/02/2003, 14h20
  5. [VB6] Modifier la clé d'un élément d'une collection
    Par Ricou13 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 21/11/2002, 15h49

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