JavaScript的设计模式解析——工厂模式

这几天一直在看《JavaScript高级程序设计》,在第六章面向对象的程序设计中,自我感觉对于小白而而言,会一定程度的难以理解(什么意思啊,根本不明白哇等等)注意:大神请略过,小小码农,不敢妄言。

首先,我们开门见山,什么是工厂模式,工厂模式能干什么,又是怎么用的呢

1.什么是工厂模式

这里说一下,工厂模式(Factory Pattern)是软件工程领域的一种广为人知的设计模式,这种模式抽象了创建具体对象的过程。但是呢,对于JavaScript而言,在ECMAScript中无法创建类,开发人员就发明了一种函数,用函数来封装以特定接口创建对象的细节。
划重点:工厂模式是用来创建对象的一种常见的设计模式。我们不暴露创建对象的具体逻辑,将逻辑封装在一个函数中,这个函数被视为一个工厂。
二话不说,直接上代码:

function createFactory(name,age,job) {
	var o = new Object();
	o.name = name;
	o.age = age;
	o.job = job;
	o.sayName = function (){
		alert(this.name);
	}
	return 0;
}
//实例化
var person1 = new createFactory("Xiao Ming",24,"Software Engineer");
var person2 = new createFactory("Xiao Hong",20,"Doctor");

//输出控制台
console.log(person1.name);//Xiao Ming
console.log(person2.sayName());//Xiao Hong

在这里,createFactory函数就是视为一个工厂,在工厂里面,它能够根据接受的参数(name,age,job)来构建一个包含这些信息的对象。可以无数次的调用这个函数,每次都会返回(这里是三个属性和一个方法)的对象。
工厂用来干什么: 当然这个前文已经说过了,用函数来封装以特定接口创建对象的细节(不太明白?)。就是将相同的逻辑(属性和方法)封装在函数中,实现对象的创建。
怎么用它呢?
1、对象构建十分复杂;比如说,衣服我们穿的时候很简单,但是做衣服的过程却是很复杂。则做衣服的过程可以使用工厂模式。
2、需要依赖具体的环境创建不同的实例;比如说,在工厂里不仅仅是做衣服的,还有做其他的(鞋,袜子等等),这些东西可以看做都不同的实例
3、处理大量具有相同属性的小对象。比如说,我们就买一件衣服,就没必要去工厂里生产。当需求量很大的时候,可以选择工厂。
划重点不能滥用工厂,会增加代码的复杂度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值