23种设计模式——工厂模式

来源:互联网 发布:红磨坊表演知乎 编辑:程序博客网 时间:2024/05/16 08:44

/* 工厂模式
* 工厂模式定义一个恶用于创建对象的接口,这个接口由子类决定实例化哪一个类。该模式使一个类的实例化延迟到了子类。而子类可以重写接口方法以便创建
* 的时候指定自己的对象类型(抽象工厂)
* 这个模式非常有用,尤其是在创建对象的流程赋值的时候 ,比如依赖于很多设置文件等.并且,你会经常在程序里看到工厂方法,用于让子类类定义需要创建的
* 对象类型.
*
* 模式的作用:
* 1.对象的构建十分复杂
* 2.需要依赖具体的环境创建不同的实例
* 3.处理大量具有相同属性的小对象
* 注意事项:
* 1.不能滥用工厂,有时候仅仅是给代码增加复杂度
*
*/
// 工厂应该有厂长 来决定运行到底那条产品线
// 消费者-》 子类
var gongchang = {};
// 产衣服
gongchang.chanyifu = function(argument)
{
this.gongren = 50;
console.log(‘我们有’ + this.gongren + ‘人’);
};
// 产鞋子
gongchang.chanxie = function()
{
console.log(‘产鞋子’);
};
// 运输
gongchang.yunshu = function()
{
console.log(‘运输’);
};
// 厂长
gongchang.changzhang = function(param)
{
// 构造函数模式,单例模式
return new gongchangparam;
};
// 消费者-》 告诉厂长 -》 具体实现的子类
var me = gongchang.changzhang(‘chanyifu’);
console.log(‘我们有’ + me.gongren + ‘人’);

1 0