JavaScript设计模式之工厂模式简单实例教程
本文实例讲述了JavaScript设计模式之工厂模式。分享给大家供大家参考,具体如下:
一、工厂模式概念
工厂模式定义一个用于创建对象的接口,这个接口由子类决定实例化哪一个类。该模式使一个类的实例化延迟到了子类。而子类可以重写接口方法以便创建的时候指定自己的对象类型(抽象工厂)。
这个模式十分有用,尤其是创建对象的流程赋值的时候,比如依赖于很多设置文件等。并且,你会经常在程序里看到工厂方法,用于让子类定义需要创建的对象类型。
二、工厂模式的作用和注意事项
模式作用:
1、对象构建十分复杂--我们穿鞋很简单,但是制作鞋子的过程十分复杂
2、需要依赖具体的环境创建不同的实例--工厂可以做鞋子,做衣服,工厂可以做我需要的鞋子(鞋子不同),然后送到指定的地方(地方可以不同),可以理解为不同的实例
3、处理大量具有相同属性的小对象--比如买一双鞋,没必要找工厂生产
注意事项:
1、不能滥用工厂,有时候仅仅是给代码增加复杂度--如上3
三、工厂模式代码和实战总结
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>工厂模式</title>
</head>
<body>
<script>
//1.工厂应该有厂长来决定运行到底哪条产品线
//2.消费者-》子类
var gongchang = {};
gongchang.chanyifu = function(){
this.gongren = 50;
console.log("我们有"+this.gongren);
}
gongchang.chanxie = function(){
this.gongren = 100;
console.log("产鞋子");
}
gongchang.yunshu = function(){
this.gongren = 10;
console.log("运输");
}
gongchang.changzhang = function(para){
return new gongchang[para]();
}
var we = gongchang.changzhang("chanyifu");
var me = gongchang.changzhang("chanxie");
console.log(me.gongren);
var ys = gongchang.changzhang("yunshu");
console.log(ys.gongren);
</script>
</body>
</html>
使用在线HTML/CSS/JavaScript代码运行工具 http://tools.jb51.net/code/HtmlJsRun测试运行效果如下:

更多关于JavaScript相关内容可查看本站专题:《javascript面向对象入门教程》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
- 深入理解JavaScript系列(38):设计模式之职责链模式详解
- JavaScript实现职责链模式概述
- JavaScript职责链模式概述
- JavaScript设计模式之模板方法模式原理与用法示例
- JavaScript设计模式之缓存代理模式原理与简单用法示例
- JavaScript设计模式之观察者模式(发布订阅模式)原理与实现方法示例
- JavaScript设计模式之工厂模式和抽象工厂模式定义与用法分析
- JavaScript设计模式之构造器模式(生成器模式)定义与用法实例分析
- JavaScript设计模式之单例模式原理与用法实例分析
- JavaScript设计模式之装饰者模式定义与应用示例
- JavaScript设计模式之职责链模式应用示例
相关文章
JavaScript实现网页图片等比例缩放实现代码及调用方式
为了保证图片统一大小,直接设置图片大小又会导致图片拉伸,造成图片模糊,接下来将介绍的代码可以在图片加载完成后自动按比例调整图片大小,感兴趣的你可以参考下2013-02-02
IE,firefox(火狐)浏览器无提示关闭窗口js实现代码小结
在不是js打开的页面上按window.close(),会有提示框,很烦,现在可以不用了,没有提示框直接关闭窗口。下面脚本之家编辑特为大家整理了一些。2009-09-09
javascript之with的使用(阿里云、淘宝使用代码分析)
这篇文章主要介绍了javascript之with的使用(阿里云、淘宝使用代码分析),主要是发现了阿里云使用了这段比较有B格的代码,所以说下这个怎么样2016-10-10
JavaScript Rxjs mergeMap 的使用场合
这篇文章主要介绍了JavaScript Rxjs mergeMap 的使用场合,mergeMap 接收一个函数作为输入参数,这个函数的输入参数就是通过 pipe 链接 mergeMap 的 Observable 里包含的元素2022-07-07


最新评论