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

Langage Java Discussion :

Pattern singleton ou Classe avec méthodes statiques ?


Sujet :

Langage Java

  1. #1
    Membre confirmé Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Points : 554
    Points
    554
    Par défaut Pattern singleton ou Classe avec méthodes statiques ?
    Bonjour,

    Je souhaiterai être éclairé par vous...

    En naviguant sur le web, je vois les design patterns en tout genre, et il y en a un qui est très répandu : le pattern singleton.

    J'aimerai connaitre l'intérêt de ce design pattern puisque me concernant, avant d'en connaitre l'existence, mais pour effectuer le même travail, j'utilisais des classes avec des attributs et méthodes statiques...

    En code, voila ce qui me semble équivalent :

    Le pattern Singleton :
    la classe :
    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
    public class Singleton{
     
    private static Singleton instance = new Singleton(10);
     
    private int i;
     
    private Singleton(int i){
    this.i = i;
    }
     
    public static Singleton getInstance(){
    return instance;
    }
     
    public void methode(){
     ...
    }
     
    }
    l'appel à methode() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Singleton.getInstance().methode();
    La classe avec les méthodes en static :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class Singleton{
     
    private static int i = 10;
     
    public static void methode(){
     ...
    }
     
    }
    l'appel à methode() :

    Ces 2 techniques sont elles équivalentes ? En propreté de code obtenu ? En rapidité de chargement et d'exécution ?

    Merci d'avance pour vos conseils

  2. #2
    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 : 40
    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
    avec "singleton vs static". Des milliers de posts ont déjà été écrits sur le sujet.

    La meilleure réponse en faveur du singleton, c'est
    * tu peux en créer une hiérarchie
    * tu controles la création de l'objet (et tu peux donc étendre à plus d'une instance).

    note : il existe de multiples stratégies d'implémentation.
    En premier lieu, utilisez un moteur de recherche.
    En second lieu, postez sur le forum adéquat !

  3. #3
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Comme ça, je dirais que ce n'est pas fait dans le même but.

    Le pattern Singleton te permet de n'avoir qu'une seule instance d'une classe chargée en mémoire.

    Les données static sont communes à toutes les instances crées.

    Ce n'est pas pareil.

  4. #4
    Membre confirmé Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Points : 554
    Points
    554
    Par défaut
    Ok merci

    J'avais cherché mais pas suffisament...

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

Discussions similaires

  1. classe normale/méthodes statiques ou classe abstraite/méthodes normales
    Par Renaud MENGELLE dans le forum Architecture
    Réponses: 4
    Dernier message: 19/07/2012, 15h01
  2. [POO] Classes et méthodes statiques
    Par Info-Rital dans le forum Langage
    Réponses: 1
    Dernier message: 20/12/2007, 13h00
  3. Réponses: 19
    Dernier message: 05/06/2007, 08h13
  4. [Singleton] difference singleton classe avec methodes statiques
    Par matN59 dans le forum Design Patterns
    Réponses: 6
    Dernier message: 15/01/2006, 11h04
  5. [Singleton] Différences avec méthodes statiques
    Par Franche dans le forum Design Patterns
    Réponses: 1
    Dernier message: 26/02/2003, 17h10

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