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 :

Question sur le modele singleton


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 68
    Points : 54
    Points
    54
    Par défaut Question sur le modele singleton
    Bonjour,

    Ma question est la suivante, je voudrai que dans une classe A je ne puisse qu'instancier qu'une seul fois une autre classe B.

    Cependant je voudrai que si je recrée une classe A, je puisse tout de même reinstancier la classe B.

    Est ce que le modele singleton permet de faire ca?? sinon comment faire?

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    Je ne suis pas sur d'avoir compris la question.

    Si la nouvelle classe A est crée, il faut que B soit nouveau, ou que B soit le même que dans la première classe A.
    Certes un singleton sur B, ça peut aider, mais ne serait-ce pas tout simplement une variable static?
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Salut,
    Pareil. Je ne suis pas sur d'avoir compris la question. A priori, j'ai l'impression que le singleton n'est pas la solution. Mais j'hésite entre la variable de classe ou la variable membre tout court !

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 68
    Points : 54
    Points
    54
    Par défaut
    Bonjour,

    je vais essayer de tout expliquer:

    j'ai un programme qui a pour but de dialoguer avec un automate, et je desire encapsuler ma requete et ma réponse dans une seul et meme classe A. j'utilise donc le pattern factory qui me permet de créer ma requete et ma reponse à un l'instant que je le désire (au moment ou je reçois la réponse). ca c'est fais et ca fonctionne.

    Le soucis est que rien ne m'empeche dans ma classe de créer plusieur réponse. et ca je ne le veux pas, je veux uniquement 1 requete et 1 reponse dans ma classe A. cela signifie que je dois créer un mécanisme pour éviter la double instanciation de ma classe requete et reponse.

    J'ai pensé à une variable static, mais je ne trouve pas ca élégant. y a il une autre solution, merci.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    780
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 780
    Points : 1 176
    Points
    1 176
    Par défaut
    Si tu restes dans la classe A.. ben euh c'est la classe A qui décide de ce qu'elle fait non? Si elle considère qu'il n'y a qu'une requête et une réponse ben... qu'elle ne fasse qu'une requête et qu'une réponse?

    Si la classe A offre la possibilité à un client exterieur de faire des requête/réponse, ben pareil, c'est la classe A qui doit gérer ça en interne?

    Ou j'ai pas compris un truc?

  6. #6
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Effectivement, je ne vois pas trop le besoin du singleton. Associer une requête et une réponse (par exemple dans un bête std::pair) peut représenter une transaction.

  7. #7
    Membre éprouvé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2009
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 552
    Points : 1 060
    Points
    1 060
    Par défaut
    Bonsoir,

    En somme, Singleton c'est pratique, mais faut pas essayer d'en mettre partout. Sans être catégorique, tu peux adopter un singleton lorsque tu as besoin d'une unique instance d'une classe et d'un accès global à cette instance...

    Bye

    Notes :
    - Ta fabrique peut assurer la création d'un unique objet. En terme de design pattern, ça serait plutôt un "pool" je crois.
    - Le singleton est très dangereux, au sens où c'est difficile de s'en séparer lorsque l'on refractor.

  8. #8
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Salut,
    Citation Envoyé par bretus Voir le message
    Notes :
    - Ta fabrique peut assurer la création d'un unique objet. En terme de design pattern, ça serait plutôt un "pool" je crois.
    - Le singleton est très dangereux, au sens où c'est difficile de s'en séparer lorsque l'on refractor.
    Sur le singleton, je crois qu'avant de l'utiliser lire ce genre d'article est indispensable

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/08/2012, 16h32
  2. Question sur les méthodes play.db.jpa.Model
    Par sarazinj dans le forum Play!
    Réponses: 3
    Dernier message: 01/03/2012, 15h59
  3. [Singleton] question sur variable static
    Par ultimax dans le forum Langage
    Réponses: 6
    Dernier message: 13/01/2010, 11h43
  4. Réponses: 6
    Dernier message: 01/08/2009, 18h23
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11

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