设计方式探究系列之Singleton(单例模式)

设计模式探究系列之Singleton(单例模式)

 

var Singleton = (function(){
			
			var _SingletonClass = function(){};
			
			var _singleton = null;
			var _getInstance = function(){
				if(!_singleton){
					_singleton = new _SingletonClass();
				}
				return _singleton;
			};
			
			//add prototype
			var _name = '';
			var _getName = function(){
				return _name;
			};
			var _setName = function(name){
				_name = name;
			};
			
			_SingletonClass.prototype = {
				getName:_getName,
				setName:_setName
			};
			
			return {
				getInstance:_getInstance
			};
})();
	
var mySingleton = Singleton.getInstance();
		
mySingleton.setName('zhangyaochun');
		
alert(mySingleton.getName());