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 :

[Débat] Le pattern singleton ne sert à rien


Sujet :

Design Patterns

  1. #21
    Membre expérimenté
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Points : 1 640
    Points
    1 640
    Par défaut
    Il ne faut pas dire "le singleton ça sert à rien".
    Le pattern singleton ne doit être utilisé que si la classe ne doit avoir qu'une seule instance (ou un nombre limité, on parle plutôt de pool ou de "multiton" dans ce cas). Pas dans d'autres cas.
    Les designs patterns sont des outils, qui ont une utilisation précise. Si on utilise un outil pour faire autre chose que ce pour quoi il est conçu, faut pas s'étonner qu'il y ait un problème. Si vous n'êtes pas convaincus, tentez de visser avec une tronçonneuse et d'enfoncer des clous avec un stylo à bille...

    Par ailleurs, ce n'est pas parce qu'il est possible d'utiliser un singleton comme une variable globale qu'il ne résout pas des problèmes...

  2. #22
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 90
    Points : 24
    Points
    24
    Par défaut
    Oh que c'est bien dit!

    CQFD!!

  3. #23
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 234
    Points : 172
    Points
    172
    Par défaut
    Effectivement quand j'ai crée ce topic je n'aurais pas du mettre qu'il ne sert à rien, car en vérité le singleton est très dangeureux. Il brise toutes les principes des bonnes pratiques.

    Lorsque j'ai commencé à développer en C, le premier avertissement fait au débutant était que les variables globales étaient dangereuses car on ne pouvait prévoir leur accessibilité.

    Le principe du singleton est de prévoir un point d'accès global à un objet ! Ca ne vous rapelle rien ?

    N'en déplaise aux gens de ce forum, le singleton brise le principe d'encapsulation en rendant silencieuses une relation effective entre deux objets.

    Il brise également le principe de responsabilité unique d'un objet : l'objet doit gérér sa problématique et en plus sa propre utilisation.

    Sans compter bien sur que ce pattern présuppose que jamais dans la durée de vie du soft l'objet ne prendra de parametre, ne varira en fonction d'un contexte. Bref c'est prendre parie de l'immuabilite d'une application !

  4. #24
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 517
    Points : 37 135
    Points
    37 135
    Par défaut
    Côté 'conception', le singleton est et reste utile.

    La réalisation doit prendre en compte d'autres réalités: multi-threads, langage de programmation, cycle de vie,... qui peuvent rendre assez cauchemardesque son codage.

    Maintenant entre la conception de haut niveau ou le singleton reste un pattern utile et la réalisation, il y a une phase de spécifications détaillées qui est à priori là pour essayer de prendre en compte ces autres réalités et être plus précis sur les modalités/contraintes de réalisation.

    Note: S'il est possible de faire une conception de haut niveau assez synthétique grâce à l'usage de patterns, dans les spécifications détaillées, on se permet en général d'agréger plusieurs patterns dans un même ensemble de classes. C'est une autre façon de dire que la conception de haut niveau décomposent le problème alors que spécifications détaillées visent à clarifier comment ce sera construit - et on construit toujours de bas en haut!
    -W

Discussions similaires

  1. Pattern singleton ou Classe avec méthodes statiques ?
    Par Claythest dans le forum Langage
    Réponses: 3
    Dernier message: 11/12/2006, 12h28
  2. message de validation, mais le boutton ne sert à rien!!
    Par dinastar dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 04/04/2006, 00h31
  3. Réponses: 6
    Dernier message: 26/09/2005, 19h35
  4. [Débutant] pattern singleton
    Par SirDarken dans le forum Débuter avec Java
    Réponses: 22
    Dernier message: 11/12/2004, 02h55

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