| Summary: Patterns:Singleton |
| Author: Sébastien ROMMENS(Translator) |
| Published: January 06, 2008 |
| Ext Version: 1.1 |
Languages: English French Korean
|
Contents |
DéfinitionUn Singleton est un modèle de conception où une seule instance d'un objet peut être créée dans une application. Vous pouvez voir un Singleton comme une variable globale définie une seule fois et accessible partout dans votre application.
Le modèle Singleton est utilisé dans l'ensemble des exemples d'Ext, mais la raison du choix de cette structure n'est pas toujours évidente dans l'exemple seul. Un exemple typique consisterait à créer un Singleton comportant une méthode "init" qui serait appelée une seule fois. Dans un tel exemple, le Singleton n'est pas vraiment nécessaire. Par contre, si vous ajoutez, par exemple, une méthode "reload" vous risquez de voir comment il pourrait être appelé à nouveau à partir de différents endroits au sein de votre application. En utilisant un Singleton, celui-ci vous assure qu'il y a une et seulement une seule instance de votre objet. Vous pouvez alors accéder ou modifier ses paramètres à travers toute votre application.
Objet Singleton.
ExempleSingleton = function(){ var _instance = null; return { getInstance : function(){ if(_instance === null){ _instance = {}; //définissez votre instance ici } return _instance; } }; }(); Ext.onReady(function(){ var x = Singleton.getInstance(); var y = Singleton.getInstance(); if(x == y){ alert("Ces objets représentent la même instance"); } });
Objet Singleton qui étend une classe existante
ExemplemyObservableSingleton = function(){ var privateProperty = "Seulement accessible à l'intérieur de cette classe"; function privateMethod() { alert("Seulement exécutable à l'intérieur de cette classe"); } return Ext.apply(new Ext.util.Observable, { publicProperty: "Vous pouvez accéder à cette propriété", publicMethod: function() { alert("Vous pouvez appeler cette méthode"); } }) }();