Aller au contenu

Comment créer des objets uniques avec une seule instance ?

Voici une technique que vous allez adorer.
Très utilisée pour créer une instance unique d’un objet et avoir ainsi un accès identique depuis n’importe quel endroit du code !

Découvrez dans ce cours vidéo, le design pattern Singleton.

[ppmaccordion][ppmtoggle title= »Afficher le texte de la vidéo »]

Comment créer des objets uniques avec une seule instance ?

Bonjour, et bienvenu sur Développement Facile.

Dans ce nouveau cours, vous allez découvrir comment créer des objets uniques avec une seule instance. Comme vous voyez à l’écran il y a plusieurs clients qui accèdent au même service et le service, c’est une classe, les clients c’est une classe, donc plusieurs instances de classes, vous connaissez maintenant. Par contre, le service c’est un Singleton, c’est à dire, vous accédez, tous les clients accèdes à la même instance, c’est le modèle de conception Singleton.

Une seule instance dans toute l’application !

C’est ce que vous allez découvrir maintenant, c’est à dire, une seule instance dans toute l’application. Vous utilisez une instance unique d’une classe dans toute votre application. Donc c’est pratique. En gros, on utilise le Singleton soit pour gérer la configuration de l’application, ou soit dans le modèle de conception view controler, pour ceux qui connaissent, avec un font controler pour envoyer des événements, exécuter des commandes, ou accéder à des modèles quand il y en a plusieurs. Donc enfaite, le Singleton c’est un point d’accès global, ça fonctionne comme une variable globale mais sans les inconvénients. C’est à dire, l’objectif d’un Singleton c’est d’empêcher l’instanciation de plusieurs objets à partir de la même classe. Découvrez dès maintenant le model de conception Singleton.

Comment implémenter Singleton ?

Comment implémenter le modèle de conception dans vos applications ? Vous avez une variable statique qui contient l’instance unique de la classe. Vous avez une méthode statique, qui fournit un moyen d’instancier la classe et d’accéder à l’instance unique. Car ce n’est pas le tout de créer une instance unique, il faut pouvoir y accéder de n’ importe où dans l’application sans forcément avoir de référence à cette instance. Et vous avez un constructeur qui empêche de créer des nouvelles instances, de les instancier de l’extérieur. Il faut savoir que Singleton c’est une classe normale avec des méthodes et des variables d’instances. Singleton vous garantit une instanciation unique à la demande.

Avantages de Singleton

Donc, je vais vous montrer un exemple de code source de Singleton, ce sera plus parlant pour vous. Le temps de trouver la souris. Donc par exemple en PHP, un Singleton, vous avez une variable statique comme je vous l’ai dit, qui va bloquer l’instance de votre Singleton, un constructeur qui récupère l’instance, et une méthode, alors elle est où ? Une méthode qui permet d’accéder à ce Singleton, une méthode getInstance, donc si l’instance n’a pas été créée, si c’est la première fois que vous appelez la classe debugger, automatiquement ça va créer une nouvelle instance, par contre, si l’instance a déjà été créée on accède à la constante, ici, elle ne sera pas nulle, et bien l’instance n’est pas recréée, on utilise la même instance et on la renvoie à la demande, au programme qui l’a demandée. Après, vous avez des méthodes publiques pour manipuler votre classe. Donc un exemple de code, il doit y en avoir un ici. Vous faite le nom de la classe .getInstance, et .Unique pour appeler la méthode, donc, ça va créer votre objet, l’initialiser comme vous le souhaitez, puis vous avez des méthodes. Enfaite, getInstance ça vous renvoi une instance de votre objet debugger. Et vous pouvez appeler toutes les méthodes.
Voici un exemple de Singleton, config, c’est une classe configuration qui permet d’avoir tous les paramètres de votre application, et vous pouvez y accéder de n’importe quelle autre classe dans le code de votre application, dans le code ActionScript. Même principe qu’une variable statique, privée, ici, qui permet de sauvegarder l’instance. Donc la méthode statique getInstance pour récupérer l’instance de votre classe. Si l’instance n’existe pas, on la créée, on fait un new Config avec une petite propriété allo instance pour savoir si l’autorisation de création de nouvelle instance est autorisée ou non. Cela évite d’avoir plusieurs instances de classe, parce que le but du Singleton, c’est de travailler avec une seule et unique instance de la classe. Et là, on récupère notre instance, donc ça vous montre également comment accéder aux propriétés statiques d’une classe. Rappelez-vous le cours sur les propriétés d’une classe, publique, statique, les différents paramètres d’une propriété, public, private, protected. Les constances, vous accédez à votre propriété hautInstance. Vous stockez une instance de la classe config et vous retournez cette instance, et, à coté de ça, vous avez des méthodes setDisplay, là en l’occurrence ça affecte des sprites, des films et des sprite, le sprite de debug, des view, c’était utilisé en ActionScript pour permettre d’afficher les interfaces les unes sur les autres dans l’ordre que l’on souhaite. Donc voilà un peu l’utilisation du Singleton.

Les avantages du Singleton

Les avantages du Singleton : il vous garantit que vous avez, pour votre classe, une seule et unique instance. Vous avez un point d’accès global à cette instance, vous pouvez y accéder de n’importe quelle classe, et comme je vous dis, c’est utilisé pour la gestion de la configuration globale d’une application.

A vous de jouer !

Donc comme d’habitude, vous trouverez un exemple de code source sous cette vidéo. Et je vous encourage également à mettre en pratique dès maintenant les conseils de ce cours dans vos applications, donc utilisez à bon escient, évidemment, le modèle Singleton quand celui-ci est nécessaire.
Si vous avez des questions, posez-les-moi directement sous cette vidéo.

Je vous dis à très bientôt pour le prochain cours sur Développement Facile.

[/ppmtoggle][/ppmaccordion]

Téléchargez des exemples de Singleton

Et voici des codes sources du pattern Singleton en ActionScript 3 et PHP.

Téléchargement du code source Exemple de Singleton en PHP et ActionScript 3

Cliquez ici pour télécharger le code source Exemple de Singleton en PHP et ActionScript 3

Et vous, dans quels cas utilisez-vous des Singleton ?

Partagez avec les autres développeurs, vos astuces de codes qui s’appuient sur Singleton.

EXCLUSIF : Les 7 Secrets Révélés de JavaScript pour Créer VOS Applications — dès la semaine prochaine !

EXCLUSIF : La formation « JavaScript Facile » OFFERTE pour Créer VOS Applications — dès la semaine prochaine !

EXCLUSIF : Créez VOS Applications JavaScript — en moins de 7 jours grâce à notre formation OFFERTE « JavaScript Facile »

Que diriez-vous de Développer des Applications JavaScript Performantes — dès la semaine prochaine ?

TÉLÉCHARGEZ : Les codes sources du livre « JavaScript Facile » pour Créer VOS Applications — dès la semaine prochaine !

Cliquez ici pour tout recevoir >>