23种设计模式——工厂模式
2016-05-22 21:01
330 查看
/* 工厂模式
* 工厂模式定义一个恶用于创建对象的接口,这个接口由子类决定实例化哪一个类。该模式使一个类的实例化延迟到了子类。而子类可以重写接口方法以便创建
* 的时候指定自己的对象类型(抽象工厂)
* 这个模式非常有用,尤其是在创建对象的流程赋值的时候 ,比如依赖于很多设置文件等.并且,你会经常在程序里看到工厂方法,用于让子类类定义需要创建的
* 对象类型.
*
* 模式的作用:
* 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.对象的构建十分复杂
* 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 + ‘人’);
相关文章推荐
- PropertyChangeListener简单理解
- 什么是设计模式
- 设计模式之创建型模式 - 特别的变量问题
- 七、设计模式——装饰模式
- 设计模式总结
- 设计模式之创建型模式
- 浅谈设计模式的学习
- Ruby设计模式编程之适配器模式实战攻略
- 实例讲解Ruby使用设计模式中的装饰器模式的方法
- 设计模式中的模板方法模式在Ruby中的应用实例两则
- Ruby设计模式编程中对外观模式的应用实例分析
- 实例解析Ruby设计模式编程中Strategy策略模式的使用
- Ruby中使用设计模式中的简单工厂模式和工厂方法模式
- Ruby使用设计模式中的代理模式与装饰模式的代码实例
- 详解组合模式的结构及其在Ruby设计模式编程中的运用
- C#编程中使用设计模式中的原型模式的实例讲解
- 使用设计模式中的工厂方法模式进行C#编程的示例讲解
- 实例解析C#设计模式编程中简单工厂模式的使用
- 详解C#设计模式编程中生成器模式的使用
- 深入解析C#设计模式编程中对建造者模式的运用