Говоря с точки зрения ООП, я не думаю, что запись спасет сама себя. Запись в базе данных - это просто данные, а сама база данных - это то, что происходит с этими данными, будь то сохранение, загрузка или т. Д. При этом я бы сказал, что запись будет просто объектом, который содержит данные и создаст объект набора записей для взаимодействия с данными. Внутри этого объекта набора записей вы можете поместить свой recordList и соответственно обновить его. Что-то вроде:
var recordset = function() {
var me = this;
var currentRecord = object.create("record");
var recordList = object.create("recordList");
me.save = function() {
//Insert record.save code here
recordList.refresh();
};
};
Что-то заметить об этом коде. В этой настройке нельзя получить доступ к currentRecord и recordList извне функции, и поэтому у вас есть инкапсуляция, одна из отличительных черт ООП. Это связано с тем, что функция набора записей является закрытием, которое «закрывает» все переменные внутри, что означает, что каждая функция внутри имеет доступ к переменным в области набора записей.
Вы можете позволить внешнему миру получить доступ через функции get или set:
me.getRecordList = function() {
return recordList.getArray(); //Not generally a good idea to simply return your internal object
};