Use JavaScript to demonstrate the Singleton design mode. Singleto
Basic Structure of Singleton mode:
MyNamespace.Singleton = function() {return {};}();
For example:
MyNamespace.Singleton = (function() {return { // Public members.publicAttribute1: true,publicAttribute2: 10,publicMethod1: function() {...},publicMethod2: function(args) {...}};})();
However, the Singleton above has been established when the code is loaded. How can we delay loading? Use the following mode:
MyNamespace.Singleton = (function() {function constructor() { // All of the normal singleton code goes here....}return {getInstance: function() {// Control code goes here.}}})();
Specifically, put the code for creating a singleton In the constructor and instantiate the code at the first call:
The complete code is as follows:
MyNamespace.Singleton = (function() {var uniqueInstance; // Private attribute that holds the single instance.function constructor() { // All of the normal singleton code goes here....}return {getInstance: function() {if(!uniqueInstance) { // Instantiate only if the instance doesn't exist. uniqueInstance = constructor();}return uniqueInstance;}}})();
Address of this article: http://www.nowamagic.net/librarys/veda/detail/573,welcome to the original release.