建造者模式
大约 1 分钟约 336 字
- 建造者模式属于创建型模式的一种,提供一种创建复杂对象的方式。它将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示
- 建造者模式是一步一步的创建一个复杂的对象,它允许用户只通过指定复杂的对象的类型和内容就可以构建它们,用户不需要指定内部的具体构造细节
class Navbar {
init() {
console.log('navbar-init')
}
getData() {
console.log('navbar-getData')
return 'navbar-111'
}
render() {
console.log('navbar-render')
}
}
class List {
init() {
console.log('list-init')
}
getData() {
console.log('list-getData')
return new Promise((resolve) => {
setTimeout(() => {
resolve('list-111')
}, 1000)
})
}
render() {
console.log('list-render')
}
}
class Creator {
async startBuild(builder) {
await builder.init()
await builder.getData()
await builder.render()
}
}
const op = new Creator()
op.startBuild(new Navbar())
op.startBuild(new List())
- 建造者模式将一个复杂对象的构建层于与其表示层相互分类,同样的构建过程可采用不同的表示。工厂模式主要是为了创建对象实例或者类簇(抽象工厂),关心的是最终产出(创建)的是什么,而不关心创建的过程。而建造者模式关心的是创建这个对象的整个过程,甚至于创建对象的每一个细节。