- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我是 nodejs 的新手,但我对在客户端和服务器之间使用通用语言和习惯用法的可能性感到兴奋。
有谁知道一个 nodejs 框架,它为我们在带有 backbonejs 的客户端上使用的模型提供了相同的 OO 习惯用法和类功能?我发现在主干模型和集合与 Node 中的手动 javascript 类之间切换很不协调。
Controller 被发射器和回调所取代,当然没有 View ,但我是否错误地想要模型客户端和服务器端一致的 OO 范例?我是否应该使用与数据库无关的 OOP 来实现该目标,例如 Redis?
如果这个问题对 SE 来说太模糊,请随时关闭我。
最佳答案
当使用 Backbone.js 时,您应该在客户端有一堆模型,这些模型从服务器获取并通过 REST api (CRUD) 更新到服务器。客户端负责 MVC,服务器只是回答一堆简单的查询、删除和更新。
这意味着客户端可能包含以下代码:
服务器将有:
那么……客户端和服务器之间应该共享什么代码?一些实用程序,也许是模型....(尽管我认为不应共享模型代码)
基本上,虽然我们(开发人员)都对在客户端和服务器之间共享代码感到兴奋,但用例、角色和职责并不真正需要这种耦合。 (至少那是发生在我身上的事情)
顺便说一下,有一些异常(exception)情况,您希望在服务器上实现相同的 MVC 以实现快速渲染和搜索引擎合规性,airBnb 正在使用 Backbone 和 Node 来实现这一点。一旦他们稳定了 API,他们将在那里开源解决方案
编辑:
根据我的经验,主干模型是非常薄的纯数据对象(和一些验证代码)。观众观察它们并改变它们,所以大部分代码都放在那里。我认为在这种情况下,将代码从服务器解耦到客户端是一个很好的设计决策,它允许您在不更改客户端的情况下使用您的数据库模式。
当然这在其他用例中可能会有所不同......
关于您的实际问题:
您可以查看 airBnB 项目 Rendr:(https://github.com/airbnb/rendr)
Rendr is a small library from Airbnb that allows you to run your Backbone.js apps seamlessly on both the client and the server. Allow your web server to serve fully-formed HTML pages to any deep link of your app, while preserving the snappy feel of a traditional Backbone.js client-side MVC app.
关于node.js - 如何在 node.js 服务器端重现 Backbonejs 模型和集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17396606/
编辑:我似乎问错了这个问题。 我正在尝试寻找一种方法来查询一个集合是否在另一个集合中可用。例如: SELECT * FROM something WHERE (1, 3) IN (1, 2, 3, 4
这两种方法似乎 produce the same results ,但我一直很难真正说服人们第二种方法有效,因为它显然并不为人所知。 // Create some data var foo = { '
我一直在学习Kotlin,并且遇到过Collections API。在Kotlin之前,我一直在学习Java,并且我知道Java中有很多不同类型的Collections API。例如,我们使用List
为什么我会得到不同的行为: Collection col2 = new ArrayList(col); 集合 col2 = new ArrayList(); col2.addAll(col) 我正在与
所以我有一个代表专辑信息的 JSON 对象。给定“function updateRecords(id, prop, value)”我希望能够更新每个条目。正确的完成代码如下。 我得到了指示,粗体部分,
我想存储一个对象集合,这些对象根据它们所代表的值进行键控。这些键可以重复。例如: [4] => Bob [5] => Mary [5] => Sue [9] => Steve [10] =>
在检查 ArrayList API 时,我注意到一些看起来很奇怪的东西。 确实,这里是 ArrayList 构造函数实现,其中 Collection 作为参数传递: public ArrayList(
我正在为 API 编写一个 swagger 定义文件。 API 是用于 GET 请求的 /path/to/my/api: get: summary: My Custom API d
我知道scala.collection包中有两个非常有用的对象,可以帮助我们实现这个目标: JavaConverters(如果我想明确说明并准确说明我要转换的内容) JavaConversions(如
我已经阅读了无数其他帖子,但似乎无法弄清楚发生了什么,所以是时候寻求帮助了。 我正在尝试将包含集合的域实体映射到也包含集合的 dtos。 这是一个原始示例; (我提前为代码墙道歉,我尽量保持简短):
我正在创建一个具有 ArrayList 的类,因此当我调用构造函数时,它会初始化该数组: public class ElementsList { private ArrayList list;
我正在阅读事件指南和指南的开头,它说: You can also add an event listener to any element in the this.$ collection using
我是 Python 新手,想知道如何使用键在字典中存储不同数据类型的列表 例如 - {[Key1,int1,int1,String1] , [Key2,int2,int2,String2], [Key
int[] mylist = { 2, 4, 5 }; IEnumerable list1 = mylist; list1.ToList().Add(1); // why 1 does not get
我在 UI 表单中的每一行之后将以下内容添加到 HashMap 集合中 声明 Map> map = new HashMap>(); List valSetOne = new ArrayList();
我正在开发我的第一个 Java 项目,我有一个问题。问题应该很简单(虽然代码不是那么短,但没有理由被吓倒:))。我创建了一个基本的角色扮演游戏,并且有一个定义每个角色的抽象类“Character”。在
我正在开发一款应用程序,可以为用户收集推文、Facebook 状态和 Facebook 照片。目前,用户确切地设定了他们希望这种收获发生的时间和时间,并且蜘蛛会在此期间拉取数据。 when 和 to
有谁知道在 C# 中是否有与 Java 的 Set 集合等效的好方法?我知道您可以通过填充但忽略值来使用 Dictionary 或 HashTable 在某种程度上模仿集合,但这不是一种非常优雅的方式
EXISTS 该函数返回 集合中第一个元素的索引,如果集合为空,返回NULLNULLNULL Collecti
RDF集合是通过属性 rdf:parseType="Collection" 来描述仅包含指定成员的组 rdf:parseType="Collection" 属
我是一名优秀的程序员,十分优秀!