【发布时间】:2017-04-24 03:51:18
【问题描述】:
我从事一个开源项目 - 又名对象文档映射器。 ODM 在javascript 中,我面临着一个我难以解决的设计决策(而不是simple,但不是easy)。
在ODM 中,您可以定义一个Model 对象,该对象描述您在数据库中的数据文档。创建新的 Model 实例对象时,您可以通过参数传入它的数据值。
伪代码:
var data = {
username: 'james'
email: 'james@email.com',
country: {
code: 'US',
city: ''
}
};
// In case the data object would not be cloned, it would be mutated by the ODM
var user = new UserModel(data);
现在,我面临的决定是是否在模型中自动克隆 data 对象,然后再由应用程序 (ODM) 处理。我倾向于选择不克隆输入数据。我觉得在javascript 社区中,克隆数据通常比必要的要多,因为它可以为最终用户提供easy(而不是simple)的东西。从我的研究中,我发现一些类似且受欢迎的项目决定克隆数据,但考虑到模型可以具有大型和复杂的数据模式并且没有任何区别,我不确定这是正确的选择如果有数十个 Model 实例对象,我认为这可能是一个问题,例如:数百个 Model 对象。
我很想听听您对该主题的推理,您的选择是什么?
如果您已经看到另一个答案,请不要犹豫,写下您的想法!
谢谢!
【问题讨论】:
标签: javascript node.js cloning odm