javaScript设计模式之常用工厂模式

时间:2021-01-10 08:29:38

工厂函数

定义

    由一个工厂对象决定创建某一种产品对象类的实例,主要用来创建同一类对象。

使用场景

    比如说你是到一个买宠物的店,里面有很多不同的宠物,你只需要说出宠物的名字给店员就行了。

// 狗的类
var Dog = function() {
this.introduce = '中华田园超级大狗';
};
Dog.prototype = {
getSkills: function() {
console.log('有点吊');
},
getDogSize: function() {
console.log('正常大小');
}
};
// 猪的类
var Big = function() {
this.introduce = '中华大猪';
};
Big.prototype = {
getMember: function() {
console.log('肉多');
},
getBigSize: function() {
console.log('很大');
}
};
// 运动工厂
var Animal = function(name) {
switch(name) {
case '土狗':
return new Dog();
case '肉猪':
return new Big();
}
};

  简单工厂模式的理念是创建对象,上面例子是将不同的类实例化,但是简单工厂模式还可以创建相似对象,将相似的东西提取,不相似的针对性处理即可。这样只需创建一个对象就可以替代多个类了.

  团队开发不同于个人,对全局变量的限制很大,要尽量少得创建全局变量。如果有同一类对象在不同需求中重复使用,那么大部分是不需要重复创建的,要学会代码复用。用简单工厂来创建对象,可以减少全局变量创建提高代码复用率,它的使用场合限制在创建单一对象。