美文网首页
4.第二篇:第4章工厂方法模式

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

作者: 爱吃鱼的肥兔子 | 来源:发表于2018-11-26 15:18 被阅读0次

本文摘自 《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);
}

相关文章

  • C++设计模式-第二篇 (Boolan)

    C++设计模式-第二篇 (Boolan) 本章内容:1 工厂方法模式2 抽象工厂模式3 原型模式4 构建器模式5 ...

  • 《大话设计模式》-GoF的24种设计模式

    工厂方法模式 1. 单例模式 2. 简单工厂模式 3. 工厂模式 4. 建造者模式 5. 原型模式 6. 解释器模...

  • 38种Javascript设计模式

    38种设计模式 1.简单工厂模式 2.工厂方法模式 3.抽象工厂模式 4.建造者模式 5.原型模式 6.单例模式 ...

  • Java工厂模式详解--学习笔记

    目录1.概念2.角色3.工厂执行的具体流程简单工厂模式(静态工厂方法)工厂模式抽象工厂模式4.分类5.总结6.学习...

  • 2020-11.04-Scala-24(设计模式入门)

    1.简单工厂模式 2.工厂方法 3.抽象工厂模式 4.单例模式 5.装饰者模式 6.观察者模式 7.代理模式

  • Go 常用的设计模式

    1. 单例模式: 2. 简单工厂模式 3. 抽象工厂模式 它返回的是接口而不是结构体。 4. 工厂方法模式 5. ...

  • 工厂方法模式的简单分析

    1.工厂模式的定义2.工厂模式的使用场景3.工厂模式的优势4.工厂模式的实现工厂方法模式一般来说是定义一个用于创建...

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

    本文摘自 《JavaScript 设计模式》张容铭 著 版权归原作者所有 安全的工厂方法

  • 4.工厂方法模式

    1、定义: 工厂父类用于创建生产产品对象的接口,工厂子类实例化产品对象。 2、模式结构:(把工厂角色继续划分) (...

  • 设计模式-3种工厂模式

    工厂模式包括:简单工厂模式,工厂方法模式,抽象工厂模式 简单工厂模式 工厂方法根据参数直接创建实例:工厂->产品 ...

网友评论

      本文标题:4.第二篇:第4章工厂方法模式

      本文链接:https://www.haomeiwen.com/subject/dhbvqqtx.html