4.第二篇:第4章工厂方法模式

本文摘自 《JavaScript 设计模式》张容铭 著 版权归原作者所有

安全的工厂方法

// 安全模式创建的工厂类
var Factory = function(type,content){
  if(this instanceof Factory){
    var s = new this[type](content);
    return s;
  }else{
    return new Factory(type,content);
  }
}
// 工厂原型中设置创建所有类型数据对象的基类
Factory.prototype = {
  Java : function(content){
    // ....
  },
  JavaScript : function(content){
    // ....
  },
  UI : function(content){
    this.content = content;
    (function(content){
      var div = document.createElement('div');
      div.innerHtml = content;
      div.style.border = '1px solid red';
      document.getElementById('container').appendChild(div);
    })(content);
  },
  php : function(){
    // ....
  }
}
var data = [
  {type:'JavaScript ',content:'JavaScript是世界上最好的语言'},
  {type:'Java',content:'Java是世界上最好的语言'},
  {type:'UI',content:'UI是世界上'},
  {type:'php',content:'php是世界上最好的语言'},
  {type:'JavaScript ',content:'JavaScript是世界上最好的语言'},
  {type:'Java',content:'Java是世界上最好的语言'},
]

for(var i = 0;i >= 0; i--){
  Factory(s[i].type,s[i].content);
}

你可能感兴趣的:(4.第二篇:第4章工厂方法模式)