Mar 30
Много често използвам Singleton pattern, или негови вариации, като напоследък използвам анонимни класове за това. Ето един прост пример:
var Person = new (function(name){
this.name = name;
this.getName = function(){
return this.name;
};
this.setName = function(name){
this.name = name;
};
})('Radoslav Stankov');
Prototype.js версията:
var Person = new (Class.create({
initialize: function(name){
this.name = name;
},
getName: function(){
return this.name;
},
setName: function(name){
this.name = name;
}
}))('Radoslav Stankov');
Трябва да се обележи, че за разлика от езици като Java / PHP, в JavaScript може да се направи нова инстанция просто като се напише нещо такова:
var Person2 = new ( Person.constructor ) ('Някой друг');
