Friday, January 18, 2008

Singleton Pattern in Java Script using Lazy Instantiation

Singleton pattern provide a way group of code and logical unit can access through a single instance. In JavaScript it can be used for namespacing, which reduce number of global variable in your class. It can also use encapsulate browser different through a technique known as branching.

Singleton patten example through java script



var StringUtil = window.StringUtil || {}

StringUtil.DataParser = (function(){

var uniqueInstance;

function constructor(){

var whiteSpaceReges = /\s+/;

function stropWhiteSpace(str){
return str.replace(whiteSpaceReges,'');
}

function stringSplit(str, delimiter){
return str.split(delimiter);
}

this.stringToArray = function(str, delimiter, stripWS){
if(stripWS){
str = stropWhiteSpace(str);
}
var outputArray = stringSplit(str, delimiter);
return outputArray;
}
}

return {
getInstance: function(){
if(!uniqueInstance){
uniqueInstance = new constructor();
}
return uniqueInstance;
}
}
})();




Run the code:
var testStr = 'Hello , World, Test ';
var output = StringUtil.DataParser.getInstance().stringToArray(testStr,',',false);
output.length -> 3

No comments: