Les Snippets

Connexion

Une classe Singleton (Instance unique d'une class)

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 18/03/2006 00:12:27 et initié par Nix [Liste]
Vue : 21410
Catégorie(s) : Class
Langages dispo pour ce code :
- VB 2005, VB.NET 1.x
- C# 1.x, C# 2.x
- PHP 5
- Java
- C# 1.x, C# 2.x
- C++
- Voir tous les langages pour ce code snippet



Langage : Java
Date ajout : 18/03/2006
Posté par neodante [Liste]

public class MaClasseSingleton
{
    private static MaClasseSingleton instance = new MaClasseSingleton();

    // Mettre le constructeur par défaut en private
    private MaClasseSingleton() { }
    public static MaClasseSingleton getInstance()
    {

        // Double vérification 
        if (instance == null)
        {
            synchronized(MaClasseSingleton.class) {
                if (instance == null)
                    instance = new MaClasseSingleton();
            }
        }
        return instance;
    }
}


Remarque :
Code uniquement à partir de Java 5.
Pour les versions antérieures, il est important de déclarer l'instance en tant que volatile !

Snippets en rapport avec : Class, Singleton, Instance, Unique



Codes sources en rapport avec : Class, Singleton, Instance, Unique

{C / C++ / C++.NET} [C++] CLASS REGISTER
Permet de garder une trace de toutes les classes crees. J'ai fais ce code a la base car j'utili...

{PHP} POO - SINGLETON CLASS
Une classe générique qui implémente le singleton design pattern en utilisant le Late Static Bindings...

{Visual Basic, VB6, VB.NET, VB 2005} PUBLIC SHARED SANS MODULE - VARIABLE SINGLETON : IDENTIFICATION D'INSTANCE D'OBJETS
un nom un peu barbare pour dire en fait : utiliser une variable entre différentes instances d'un obj...

{Javascript / DHTML} DOM BUILDER : PROTOTYPE ROCKS !
Cette petite source contient un builder DOM compatible avec la syntaxe de celui de Prototype. J'ai ...

{JAVA / J2EE} INSTANCE UNIQUE D'UN PROGRAMME (SANS SOCKET NI FICHIER)
Salut à tous, voici l'idée : une classe nommée essaie de renommer le jar en app_tmp.jar, si ...

{C# / C#.NET} INSTANCE UNIQUE + COMMUNICATION DE MESSAGES (COMPATIBLE 32 ET 64 BIT)
Cette DLL permet d'avoir une instance unique d'un programme en plus de permettre: 1. La communicat...

{JAVA / J2EE} UNE SEULE INSTANCE DE PROGRAMME SANS SOCKET
Dans le cadre d'un projet, je devais mettre en place un système multi-agents sur un réseau très sécu...

{JAVA / J2EE} INSTANCE UNIQUE D'UNE APPLICATION
La demande revenant souvent sur les forums (et ayant cherché moi-même par le passé), j'ai développé ...

{Visual Basic, VB6, VB.NET, VB 2005} INSTANCE UNIQUE DE VOTRE APPLICATION
App.PrevInstance, oui, ok... mais ca ne permet que de savoir si l'exe courant a été lancé ou non....

{PHP} PHP5 - INSTANCIATION UNIQUE DE CLASSE VIA MULTITON
Wowowow, avec un titre aussi compliqué je me demande comment vous avez fait pour venir jusqu'ici :) ...