Le design pattern Singleton (reloaded)

En savoir plus

Le singleton fait partie des design patterns de création car il crée et retourne une instance d'un objet. Le but de ce design pattern est d'assurer qu'une seule instance d'un objet donné sera référencée pendant toute la durée de l'aplication. Une seule et unique dans l'espace comme dans le temps, c'est-à-dire :

o certitude de l'unicité de l'instance à un moment donné dans l'espace représenté par la mémoire,

o s'assurer de l'unicité de l'instance quelque soit le temps écoulé entre deux appels.

Ce motif de conception peut être utilisé dans diverses situations comme :

o Maintenir une connexion à une base de données,

o Maintenir un seul et même fichier dans un module de journalisation,

o Maintenir un objet gérant des données et valeurs globales tel qu'un cache.

Structure

ve de l'image
 

Figure 1 : Diagramme UML d'un Singleton.
Photo © Edis Consulting

 

Pour s'assurer de l'unicité de l'instance de cette classe, il faut, pour commencer, penser à mettre les constructeurs de la classe en accessibilité limitée : privée ou tout au moins protégée (attention toutefois, le constructeur protégé ne permet pas de s'assurer de l'unicité de l'instance et de ses héritières).

Pour permettre d'accéder à cette instance unique, il est également nécessaire de penser à fournir un point d'appel global à l'aide d'une méthode statique.


JDN Développeur Envoyer Imprimer Haut de page