Revision: 58724
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at July 30, 2012 21:52 by timsommer
Initial Code
var SingletonTester = (function () { // options: an object containing configuration options for the singleton // e.g var options = { name: 'test', pointX: 5}; function Singleton(options) { // set options to the options supplied or an empty object if none provided. options = options || {}; //set the name parameter this.name = 'SingletonTester'; //set the value of pointX this.pointX = args.pointX || 6; //set the value of pointY this.pointY = args.pointY || 10; } // this is our instance holder var instance; // this is an emulation of static variables and methods var _static = { name: 'SingletonTester', // This is a method for getting an instance // It returns a singleton instance of a singleton object getInstance: function (options) { if (instance === undefined) { instance = new Singleton(options); } return instance; } }; return _static; })(); var singletonTest = SingletonTester.getInstance({ pointX: 5 }); console.log(singletonTest.pointX); // outputs 5
Initial URL
Initial Description
In conventional software engineering, the singleton pattern can be implemented by creating a class with a method that creates a new instance of the class if one doesn't In conventional software engineering, the singleton pattern can be implemented by creating a class with a method that creates a new instance of the class if one doesn't
Initial Title
Javascript Static Singleton Pattern
Initial Tags
javascript
Initial Language
JavaScript