javascript (对象定义)工厂模式

原创 2016年08月30日 17:36:20

工厂模式,可以理解为,定义一个接口,就是把参数传进去后,进过一系列的处理。然后得到相同想要的结果。否则,如果一个个对象都做相同操作的话,他这样会很消耗资源。

在JS中创建对象会习惯的使用 new 关键字和类构造函数(当然主要还是对象字面量),问题在于这样会导致两个类之间产生依赖性。工厂模式就是一种有助于消除两个类依赖性的模式。解决处理多个项数对象的问题,但是没有解决对象识别的问题(即怎样知道一个对象的类型,工厂模式判断的类型只能和Object类型匹配,这个可以用构造函数模式定义来解决)。

在JS中的表现定义一个函数(可以看做是接口),之后使用这个接口批量处理对象。

function createCar(brand,color,num){
var o = new Object();
o.brand=brand;
o.color=color;
o.num=num;
o.biubiu = function (){
     console.log(this.brand + ":biubiubiu");
}
return o;
}
var car1=createCar("benz","red",2);
var car2=createCar("toyota","blue",1);
car1.biubiu();     //benz:biubiubiu
car2.biubiu();     //toyota:biubiubiu
版权声明:本文为原创文章,未经博主允许不得转载,欢迎各种交流,共同进步。

JS创建对象之工厂模式

工厂模式是软件工程领域一种广为人知的设计模式,这种模式抽象了创建具体对象的过程。考虑到在ECMAScript中无法创建类,开发人员就发明了一种函数,用函数来封闭以特定接口创建对象的细节,如下的例子所示...
  • itpinpai
  • itpinpai
  • 2017年05月05日 08:23
  • 318

js工厂模式、构造函数以及他们创建对象的优缺点? — 第6.2.1节

工厂模式和构造函数的区别 学习JavaScript有一段时间了,但是随着工作的进展,我发现,JavaScript绝对不是写一下简单效果那么肤浅,是时候完全,透彻地理解他的精髓了。 好了,让俺老猪带...
  • flyingpig2016
  • flyingpig2016
  • 2016年10月26日 23:29
  • 2963

c++之运行时类型识别

这一部分将讨论C++中两个支持”现代 面向对象程序设计“的特征。运行时类型识别(Run-Time Type Identification,RTTI)和强制转换运算符。C++的初始定义并没有包含这两个特...
  • u012129719
  • u012129719
  • 2015年07月20日 11:26
  • 1015

识别无效对象和不可用对象

---------- pl/sql对象和视图可能变得“无效(invaid)”;索引可能变得“不可用(unusable)” 根据对象无效的原因,下次访问时,对象可能自动变得有效。 而对于不可用索引...
  • wbj19890107
  • wbj19890107
  • 2015年03月13日 20:36
  • 1207

javascript设计模式之工厂(Factory)模式

工厂模式一种创建型模式,目的是为了创建对象。它通常在类或者类的静态方法中实现。 1.当创建相似对象时,执行重复操作。 2.在编译不知道具体类型时,为工厂客户提供一种创建对象的接口。...
  • vuturn
  • vuturn
  • 2015年08月27日 19:52
  • 2229

JavaScript中定义对象的几种方式(JavaScript中没有类的概念,只有对象)

1)基于已有对象扩充其属性和方法 var object = new Object(); object.name = "kyle"; //添加属性name object.sayName = f...
  • silianlinyi
  • silianlinyi
  • 2012年05月28日 20:38
  • 2612

javascript (对象定义)工厂模式

 工厂模式,可以理解为,定义一个接口,就是把参数传进去后,进过一系列的处理。然后得到相同想要的结果。否则,如果一个个对象都做相同操作的话,他这样会很消耗资源。 在JS中创建对象...
  • sinat_15951543
  • sinat_15951543
  • 2016年08月30日 17:36
  • 412

创建对象_你只要看懂这篇文章

创建对象有很多种方式:Object构造函数  、对象字面量、create、工厂模式、构造函数模式、原型模式、混合模式(构造函数与原型相结合)、动态原型模式、寄生构造模式.... 本文主要是是对工厂模式...
  • a15157126928
  • a15157126928
  • 2017年09月27日 22:00
  • 63

JavaScript中对象的定义方式

在JavaScript中是没有类的概念的,只有对象。无论是字符串,数值,数组还是函数,其本质都是对象。此外,JavaScript是允许自定义对象。什么是对象呢?简而言之,对象是带有属性和方法的特殊数据...
  • qq_41690306
  • qq_41690306
  • 2018年02月04日 16:54
  • 42

JS中定义类和对象

JS中也是可以定义类和对象的,虽然我们一般也不会用它。 首先我们先看一下JS中类的定义格式function person() { //var name;//局部变量 ...
  • melissa_heixiu
  • melissa_heixiu
  • 2016年09月28日 16:32
  • 476
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:javascript (对象定义)工厂模式
举报原因:
原因补充:

(最多只允许输入30个字)