概念
- 工厂模式定义一个用于创建对象的接口,这个接口由子类决定实例化哪一个类。该模式使一个类的实例化延迟到了子类。而子类可以重写接口方法以便创建的时候指定自己的对象类型(抽象工厂)。
- 这个模式十分有用,尤其是创建对象的流程赋值的时候,比如依赖于很多设置文件等。并且,你会经常在程序里看到工厂方法,用于让子类类定义需要创建的对象类型。
拟物化理解
- 通过厂长,告诉我们内部的产品线需要做什么事情,我们不需要关心里面的流程,如果这个东西比如鞋子做的不好,我们可以自己去制定产品线,把原先的产品线覆盖掉
模式作用:
- 1.对象的构建十分复杂。
- ⒉需要依赖具体的环境创建不同实例。。3.处理大量具有相同属性的小对象。
注意事项:
- 不能滥用工厂,有时候仅仅是给代码增加复杂度。
// 1.工厂应该有厂长 来决定到底运行哪条产品线
// 消费者 -> 子类
var gongchang = {};
gongchang.chanyifu = function(argument){
this.gongren = 50;
// alert('我们有' + this.gongren)
}
gongchang.chanxie = function(){
alert('产鞋子~')
}
gongchang.yunshu = function(){
alert('运输')
}
gongchang.changzhang = function(para){
// new js我们说了 构造函数模式 - 单例模式
return new gongchang[para]();
}
var me = gongchang.changzhang('chanyifu');
alert(me.gongren);