跳到主要内容

3.3 简单工厂模式

简单工厂模式(Simple Factory): 又叫静态工厂方法,由一个工厂对象决定创建某一种产品对象类的实例。 主要用来创建同一类对象。

简单工厂模式 createBook
// 工厂模式
function createBook(name, time, type) {
// 创建一个对象,并对对象拓展属性和方法。
var o = new Object()
o.name = name
o.time = time
o.type = type
o.getName = function () {
console.log(this.name)
}
// 返回对象
return o
}

var book1 = createBook('js book', 2014, 'js')
var book2 = createBook('css book', 2013, 'css')

book1.getName() // js book
book2.getName() // css book
简单工厂模式 createPop
// 工厂模式
function createPop(type, text) {
// 创建一个对象,并对对象拓展属性和方法
var o = new Object()
o.context = text
o.show = function () {
// 显示方法
}
if (type == 'alert') {
// 警示框
console.log('警示框', o.context)
}
if (type == 'prompt') {
// 提示框
console.log('提示框', o.context)
}
if (type == 'confirm') {
// 确认框
console.log('确认框', o.context)
}
// 将对象返回
return o
}

// 创建警示框
var userNameAlert = createPop('alert', '用户名只能是26个字母和数字')
  • 我们要尽量减少创建全局变量。
  • 代码复用是面向对象编程的一条准则。
  • 简单工厂模式,它的使用场合通常也就限制在创建单一对象。