所以我一直在研究工厂函数和类,寻找创建具有多个函数/操作的多个对象的最优化方法。
假设我正在做一个 TODO 列表,我创建的每个任务都有 7 个参数和更多操作,但主要是 getter 和 setter。
如果我使用工厂函数创建这些任务中的每一个,那么每个创建的对象都会在内存中为每个创建的任务创建近十几个函数,对吗?
由于我们必须Object.create()
创建一个对象作为另一个对象的原型,最好将其分离taskOperations
为一个独立的对象并Object.create(taskOperations)
像我在下面所做的那样使用以避免为所有创建的对象使用相同的函数来阻塞内存?
这会是最优化的方式还是使用类更有效?
const taskOperations = {
getTitle() {
return this.title;
},
setTitle(title) {
this.title = title;
},
getDateCreated() {
return this.dateCreated;
},
setDateDue(dateDue) {
this.dateDue = dateDue;
},
getDateDue() {
return this.dateDue;
},
setPriority(priority) {
this.priority = priority;
},
getPriority() {
return this.priority;
},
};
// Task factory
const createTask = (title) => {
let task = Object.create(taskOperations);
task.title= title;
task.dateCreated= new Date();
task.dateDue= "";
task.priority= false;
task.note= "";
task.done= false;
task.projectID= 0;
return task
};