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 :

Quand utiliser des méthodes statiques ?


Sujet :

Design Patterns

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2008
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 234
    Points : 156
    Points
    156
    Par défaut Quand utiliser des méthodes statiques ?
    Salut,

    Il y a une question qui m'obsède pour l'instant, c'est de savoir quand on devrais utiliser des méthodes statiques ou des méthodes d'instance.

    Plus précisément, est-ce qu'une méthode statique peut renvoyer une instance d'objet ? Aussi, quand devrais t-on recourir à une class utilitaire avec méthodes statiques et dans quels cas devrais t-on au contraire utiliser un singleton (une instance d'objet possible par classe) ?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 124
    Points : 89
    Points
    89
    Par défaut
    Les classes utilitaires sont rarement un bon pattern de conception, personnellement j'essaye de les éviter.
    Le singleton, c'est quand ton objet n'a pas besoin d'exister en deux exemplaires à un instant t (par exemple des factories ou des managers).
    En règle générale, pour répondre plus précisément à ta question, pour ma part j'essaye de garder des classes avec des méthodes d'instances, parce que les méthodes statiques ça t'oblige généralement à repasser le même objet en paramètre dans tes différentes méthodes.
    Ex : si tu as une classe métier Commande qui gère le métier propre à une commande (ex : vérification des stocks, calcul des totaux, etc..) tu auras deux possibilités :
    Faire une classe statique, avec uniquement des méthodes statiques, mais tu devras passer en paramètre un objet de type CommandeInfo à toutes tes méthodes (une entité de données)
    Faire une classe avec des méthodes d'instance, dans laquelle tu peux passer ton CommandeInfo dans le constructeur (ou dans une méthode statique qui te renvoie une nouvelle instance d'un objet Commande).
    En gros, y'a pas de règle clairement définie, je dirais que ça dépend de la situation

    a+

Discussions similaires

  1. Réponses: 5
    Dernier message: 25/03/2008, 12h31
  2. Réponses: 1
    Dernier message: 24/10/2007, 12h01
  3. Réponses: 4
    Dernier message: 28/08/2007, 23h34
  4. Utilisation des méthodes de classe dans une autre classe
    Par ChriGoLioNaDor dans le forum C++
    Réponses: 4
    Dernier message: 28/07/2007, 16h10
  5. Réponses: 1
    Dernier message: 09/03/2006, 19h15

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