设计模式的学习我目前参考了张容铭的《JavaScript设计模式》,感谢。
我理解的设计模式是为了提高代码复用,增强扩展性的代码编写理念,所以无关乎编程语言。JavaSript是我感兴趣的语言,所以使用它来实现。
- 简单工厂(Sample Factory)
又叫静态工厂,用于创建同一类对象。如弹出框分为警告、确认和对话框,它们公共的方法提取出来,不同之处分别处理。
1 function createPop(type,text){ 2 var o = new object(); 3 o.content = text; 4 o.show = function(){ 5 //todo 6 }; 7 8 if(type == ‘alert‘){ 9 //todo 10 } else if(type == ‘conform‘){ 11 //todo 12 } else if(type == ‘prompt‘){ 13 //todo 14 } 15 }
创建一个Alert:var nameAlert = new createPop(‘alert‘,‘请输入姓名!‘);
- 工厂方法(Factory Method)
工厂方法是将创建对象的方法推迟到子类中。如一个工厂方法可以生产几种食品类。
1 var foodFactory = function(type,count){ 2 if(this instanceof foodFactory){ 3 return new this[type](count); 4 } 5 } 6 7 foodFactory.prototype = { 8 Pie: function(count){ 9 //todo 10 }, 11 Pizza: function(count){ 12 //todo 13 }, 14 Cake: function(count){ 15 //todo 16 } 17 }
时间: 2024-10-10 02:25:50