1.简单工厂模式,又称为静态工厂方法,单一种类的复制使用

// 简单工厂函数 封装 动物

  function A(name, six) {var o = new Object()o.name = nameo.six = sixo.sayName = function () {console.log(this.name)}return o}var A1 = new A('大象', '公')var A2 = new A('狮子', '母')A1.sayName()   // 大象A2.sayName()   // 狮子

2.工厂方法,我理解为同类产品下,定义一个大工厂,可以插入很多的小工厂来实现方法,小工厂之间可以很好的耦合

// // 工厂方法

  var a = [{name: '鸭子',type: '吃草'},{name: '鸡',type: '吃肉'
}]function B(type,chi) {B.prototype.chicken(type)

}

 B.prototype = {duck: function () {},chicken: function (type) {this.type = typeconsole.log(this.type)}}for(var i =0;i<a.length;i++){B(a[i].name,a[i].type)console.log(123)}

3.抽象工厂,可以生产产品族的工厂,例如:大自然 (大工厂类),无脊椎动物,脊椎动物,哺乳动物(可以称之为小工厂类),而这个小工厂类下面又可以分为很多动物种类(名字...等),它们之间生存的法则不一样,有吃草的,有吃肉的。。。就像下面一样,每个小工厂有自己的方法,干自己的事情互不干扰,没事我还可以继承一下肉食动物吃一下草,也是有可能的,开个玩笑!!()

//抽象 制造一个动物种类

   var zoom= function (fun,fun2) {function c() {}c.prototype = new zoom[fun2]() // 创建实例fun.constructor =fun //构造器指向// c函数赋予子类原型fun.prototype = new c()  }//无脊椎动物大类zoom.Invertebrates = function () {this.type = 'Invertebrates'}zoom.Invertebrates.prototype = {getzoom: function () {return new Error('抽象方法不能调用!');}}// 原生生物类var native = function (name,num) {this.name = namethis.num = num}zoom(native,'Invertebrates');native.prototype.getzoom = function(){console.log(this.name);}var native1 = new native('水母', 20000000000)native1.getzoom()

  

js 设计模式—工厂模式相关推荐

  1. JS设计模式——工厂模式

    什么是工厂模式? 工厂模式(Factory Pattern)是创建型设计模式.在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来创建对象. 简单工厂模式 假如有一个 ...

  2. JavaScript设计模式——工厂模式

    在介绍工厂模式之前,首先我们要理解一下什么是设计模式?什么是设计原则? 设计模式: 通常在我们解决问题的时候,很多时候不是只有一种方式,我们通常有多种方式来解决:但是肯定会有一种通用且高效的解决方案, ...

  3. Java设计模式-工厂模式(3)抽象工厂模式

    在Java设计模式-工厂模式(2)工厂方法模式 我们知道了工厂方法模式解决了简单工厂模式中的缺陷,做到了满足开闭原则,但是时代是进步的,进而又产生新的问题,工厂难道只能生产一种东西吗.我们所见到的工厂 ...

  4. Java设计模式-工厂模式(2)工厂方法模式

    在Java设计模式-工厂模式(1)简单工厂模式 中我们介绍了简单工厂模式,提到了简单工厂模式违背了开闭原则,而"工厂方法模式"是对简单工厂模式的进一步抽象化,其好处是可以使系统在不 ...

  5. Java设计模式-工厂模式(1)简单工厂模式

    Java设计模式-工厂模式(1)简单工厂模式 一.前言 1)例子 2)类图关系 3)代码实现 二.简单工厂模式 2.1.概述: 2.2.类图关系: 2.3.代码修改: 2.4.优缺点 2.5.扩展-简 ...

  6. 设计模式---工厂模式

    设计模式---工厂模式 工厂方法模式 概述:工厂方法模式中抽象工厂负责定义创建对象的接口,具体创建工作由继承抽象工厂的具体类实现. 优点:客户端不需要再负责对象的创建,从而明确了各个类的职责,如果有新 ...

  7. java设计模式工厂模式_Java中的工厂设计模式

    java设计模式工厂模式 Welcome to the Factory Design Pattern in Java tutorial. Factory Pattern is one of the C ...

  8. java设计模式工厂模式_Java中的复合设计模式

    java设计模式工厂模式 Composite pattern is one of the Structural design pattern. Composite design pattern is ...

  9. java设计模式工厂模式_Java中的桥梁设计模式

    java设计模式工厂模式 Today we will look into Bridge Design Pattern in java. When we have interface hierarchi ...

最新文章

  1. Eclipse新建Work set管理工程
  2. 汇编语言--sbb指令
  3. 牛客网【每日一题】7月21日题目精讲—区间权值
  4. Linux 的 复制命令 【 cp 】 (copy)及其 (常用参数 -fp)
  5. JM8.6之get_block() 1/4亮度像素内插详述
  6. 武汉ISO27001认证的完整步骤
  7. SPSS Clementine 安装教程
  8. LOJ#2339. 「WC2018」通道(边分治+虚树)
  9. web在线播放flv视频
  10. Frps搭建内网穿透(服务器及客户端详细)
  11. 【问题解决】iCCP: know incorrect sRGB profile
  12. 对于M1卡密钥控制字设置的总结
  13. vue单页面改造多页面应用
  14. 智能优化算法(源码)-沙丘猫群优化(SCSO)
  15. 微信社群助手怎么使用?
  16. 2022年华东师范大学计科考研复试机试题-详细题解
  17. 爱因斯坦出的一道测试题
  18. vue项目运行自动打开浏览器,默认设置为google浏览器的方法
  19. python pygame小游戏_python:利用pygame实现消消乐小游戏
  20. 从有限状态机图灵机到现代计算机

热门文章

  1. 死机、蓝屏、系统运行过慢
  2. 黑客发飙!智能汽车不太安全你还敢开?
  3. Linux内核TCP/IP参数分析与调优
  4. 字符扫描剑指Offer读书笔记之第二章2字符替换Strut2教程-java教程
  5. IE9开始支持SVG格式(VML终结)
  6. Python学习笔记(二):标准流与重定向
  7. SQLServer中Case的用法
  8. 泛在电力物联网(能源互联网+物联网)浅析
  9. 闪耀澳网 跨界新品泸州老窖国窖1573澳网冠军版发布
  10. win7找回丢失的右键新建记事本选项