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

C++ Discussion :

Design Pattern Builder en C++


Sujet :

C++

  1. #1
    Membre �prouv�
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    D�tails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Par d�faut Design Pattern Builder en C++
    A quoi sert le Waiter ? Logiquement, si le processus de construction est connu, on place une m�thode process() dans l'interface de Builder qui ne fait qu'appeller des m�thodes virtuelles pures.

    Je crois que je rate l'enjeu et pourtant j'ai lu quelques explications sur la toile et pas mal regard� d'examples...

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    D�tails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par d�faut
    Salut,

    Je ne trouve pas de 'Waiter' dans la r�f�rence (le GoF) sur la page du pattern 'Builder', tu as un lien vers celui dont tu parles ?

    MAT.

  3. #3
    Membre �prouv�
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    D�tails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Par d�faut
    Excuse-moi, je pense que j'�tais en train de lire les impl�mentations du wiki qui prennent un serveur (waiter) comme exemple : http://en.wikipedia.org/wiki/Builder_pattern

    Je voulais parler du Director.
    Dans l'exemple donn�, il se contente d'appeler les trois methodes
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    // Director
    class Waiter
    {
        PizzaBuilder* pizzaBuilder;
    public:
        Waiter() : pizzaBuilder(NULL) {}
        ~Waiter() { }
     
        void SetPizzaBuilder(PizzaBuilder* b) { pizzaBuilder = b; }
        std::auto_ptr<Pizza> GetPizza() { return pizzaBuilder->GetPizza(); }
        void ConstructPizza()
        {
            pizzaBuilder->createNewPizzaProduct();
            pizzaBuilder->buildDough();
            pizzaBuilder->buildSauce();
            pizzaBuilder->buildTopping();
        }
    };
    Alors pourquoi ne pas avoir fait :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    // Abstract Builder
    class PizzaBuilder
    {
    protected:
        std::auto_ptr<Pizza> pizza;
    public:
        PizzaBuilder() {}
        ~PizzaBuilder() {}
        std::auto_ptr<Pizza> GetPizza()
      {
         createNewPizzaProduct();
         buildDough();
         buildSauce();
         buildTopping();
         return pizza;
      }
     
        void createNewPizzaProduct() { pizza.reset (new Pizza); }
     
        virtual void buildDough()=0;
        virtual void buildSauce()=0;
        virtual void buildTopping()=0;
     
    };
    L'exemple est-il mauvais ou j'ai rat� une subtilit� ?

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    D�tails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par d�faut
    Et si tu veux pas de sauce sur ta pizza ?

    MAT.

  5. #5
    Membre �prouv�
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    D�tails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Par d�faut
    Ok je crois que je saisi un peu mieux. Faudrait que je trouve des examples un peu plus �volu�s. Merci

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Design pattern Builder directeur Singleton
    Par totoche dans le forum Logging
    R�ponses: 2
    Dernier message: 21/09/2009, 13h02
  2. R�ponses: 4
    Dernier message: 24/02/2009, 12h06
  3. [Observateur] Pr�cisions sur le design pattern Observer [UML]
    Par joquetino dans le forum Design Patterns
    R�ponses: 2
    Dernier message: 07/10/2004, 22h35
  4. Les Designs Patterns Entreprise
    Par boulon dans le forum Design Patterns
    R�ponses: 4
    Dernier message: 01/09/2004, 19h16
  5. [Design Patterns] Architecture 3 tiers
    Par HPJ dans le forum Design Patterns
    R�ponses: 1
    Dernier message: 29/07/2003, 11h49

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