JavaScript 构建器模式教程
JavaScript 构建器模式教程展示了如何使用构建器模式在 JavaScript 中创建对象。
构建器模式
构建器模式是一种设计模式,可为创建对象提供灵活的解决方案。 构建器模式将复杂对象的构造与其表示形式分开。
生成器模式通过提供逐步的方法,使用简单的对象来构建复杂的对象。 它属于创作模式。
构建器模式示例
以下示例将构建器模式与TaskBuilder
结合使用。
task_creator.js
let Task = function(name, description, finished, dueDate) {
this.name = name;
this.description = description;
this.finished = finished;
this.dueDate = dueDate;
}
let TaskBuilder = function () {
let name;
let description;
let isFinished = false;
let dueDate;
return {
setName: function (name) {
this.name = name;
return this;
},
setDescription: function (description) {
this.description = description;
return this;
},
setFinished: function (finished) {
this.finished = finished;
return this;
},
setDueDate: function (dueDate) {
this.dueDate = dueDate;
return this;
},
build: function () {
return new Task(name, description, isFinished, dueDate);
}
};
};
let task = new TaskBuilder().setName('Task A').setDescription('finish book')
.setDueDate(new Date(2019, 5, 12));
console.log(task);
在此示例中,我们有一个TaskBuilder
生成Task
对象。
let Task = function(name, description, finished, dueDate) {
this.name = name;
this.description = description;
this.finished = finished;
this.dueDate = dueDate;
}
这是一个Task
对象。 它具有四个属性:name
,description
,finished
和dueDate
。
return {
setName: function (name) {
this.name = name;
return this;
},
...
TaskBuilder
返回设置四个属性的函数。 请注意,每个函数都返回this
,即对当前对象的引用。 这样,我们可以链接函数调用。 函数调用链称为流畅 API 。
let task = new TaskBuilder().setName('Task A').setDescription('finish book')
.setDueDate(new Date(2019, 5, 12));
console.log(task);
我们使用TaskBuilder
创建任务。
在本教程中,我们介绍了 JavaScript 中的构建器模式。