工厂模式:
就是用工厂的思路,创建对象。工厂是造产品的。现在用工厂来造对象。即一个工厂可以制造很多种类型的对象,这些对象一般具有共同的父类,即相似的类。
为什么使用工厂模式?
使用一个类(通常为单体)来批量生成实例.
以下几种情景下工厂模式特别有用:
对象的构建十分复杂
需要依赖具体环境创建不同实例
处理大量具有相同属性的小对象
我们所熟悉的工厂是不是重复生产,编程中称为迭代!
比如生产一颗螺丝钉,一个流水线就是不停的生产螺丝钉。
再如联想电脑,联想公司的笔记本生产线只负责生产笔记本,不能生产出TV吧。
但是如果有TV生产线,那么TV生产生只能生产TV,而且每天都是重复的工作。
当然笔记本生产想也是重复的。
编程中我们也想让编程跟流水线一样,想用的时候开启一下工厂就可以得到一个想要的程序!
注意,每次得到的程序和已经得到的程序不会是同一个程序。
就好像生产出两台笔记本,肯定不是同一个笔记本!!
function Factory(color){//生产笔记本的流水线
return {
"screen":"this is screen",
"keybord":"this is keybord",
"mouse":"this is mouse",
"USB":"this is API of USB",
"storage":"this is storage",
"color":color
}
}
//来一个黄色的笔记本
var _yellow=Factory("yellow");
//来一个黑色的笔记本
var _black=Factory("black");
//来一个紫色的笔记本
var _purple=Factory("purple");
//console.log(_yellow,_black,_purple);