0

我正在创建一个 Node.js API,并且对于是否为我的模型定义属性,我一直在改变主意。

来自 .Net 和 c# 我习惯于定义类的属性,但因为这是有意义的静态定义语言。由于 javascript 如此动态,它感觉有点脏,我真的不知道为什么。

这是漫长的一周,所以我可能只是让事情复杂化并且应该继续,但任何见解都会很棒。

带有一些属性的简单示例

var Post = exports = module.exports = function(postData){
    var post = postData || {};

    //Set Properties
    this.id = post.id || 0;
    this.message = post.message || '';
};
4

1 回答 1

1

如果您没有某种形式的模式,那么您打算如何读取数据?

如果您打算将数据放入数据库中,然后实际读取该数据,则需要一个模式。即使使用花哨的“无模式”NoSQL 数据库,您仍然需要某种方式来理解“无模式”返回的数据!=“无模式”。

如果您查看各种 Javascript DB 框架,就会发现许多包装器强制执行某种模式:Mongoose 用于 MongoDB,Geddy JS 具有通用的“模型”类型。即使没有静态类型,您也需要某种形式的工具来了解您要返回的对象中的内容。

关于为我的模型定义属性,我一直在改变主意

C# 对“属性”有一个非常具体的定义。从这个意义上说,您可能不想要“属性”,但您可能确实想要“字段”。

由于 javascript 如此动态,它感觉有点脏,我真的不知道为什么。

作为具有 MS 背景的用户,您可能需要考虑 Microsoft 的TypeScript。它实际上有一个 NPM 包并提供将编译成常规 Javascript 的基本类型。

于 2013-06-28T17:46:36.867 回答