Design pattern : Singleton

      Aucun commentaire sur Design pattern : Singleton

Définition

Le singleton est un des designs patterns le plus simple à utiliser dont l’objectif est de restreindre l’instanciation d’une classe à un seul objet.

DiagrammeSingleton

Fonctionnement

On implémente le singleton en écrivant une classe contenant une méthode qui crée une instance uniquement s’il n’en existe pas encore. Sinon elle renvoie une référence vers l’objet qui existe déjà.

Exemple d’utilisation

Prenons l’exemple du stockage de l’utilisateur qui se connecte à l’application, on désire le stocker dans le singleton pour accéder à ses informations comme sa photo de profil ou son pseudo. Nous avons ajouté une variable privée et ses accesseurs GET/SET au singleton appelé DonnéesManager. Le GET nous renvoi la variable privée et le SET ne stocke la valeur uniquement si la variable privée est NULL.

Pour ajouter l’utilisateur au singleton il suffit de passer par à la propriété UtilisateurConnecté.

Pour récupérer l’utilisateur que l’on vient de stocker, nous n’avons plus qu’à ré-utiliser la propriété UtilisateurConnecté.

Aller plus loin

Si l’on a besoin de re-créer l’instance pour recharger les données attachées par exemple, il suffit d’ajouter à la classe une méthode statique Reset() qui va écraser la variable _instance avec une valeur NULL.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *