Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 如何为每页的多个部分建模_Backbone.js - Fatal编程技术网

Backbone.js 如何为每页的多个部分建模

Backbone.js 如何为每页的多个部分建模,backbone.js,Backbone.js,我正在构建一个小型管理应用程序,我想在客户端上使用Backbone.js 现在,我在理解如何为页面建模方面遇到了一些困难。我会举一个例子 假设我有两页:产品、订单 现在我了解到在产品页面上我有一个产品模型、集合和视图。订单页面也是如此。这很直截了当 我的问题是页面上的其他部分。我的应用程序具有身份验证功能,因此有一个小部分包含用户的详细信息和注销按钮。有一个小部分包含用户拥有的消息,以及查看这些消息的链接 除此之外,我有应用程序的菜单,所有的页面也有自己的小菜单 现在我该如何为这样一个页面建模。

我正在构建一个小型管理应用程序,我想在客户端上使用Backbone.js

现在,我在理解如何为页面建模方面遇到了一些困难。我会举一个例子

假设我有两页:产品、订单

现在我了解到在产品页面上我有一个产品模型、集合和视图。订单页面也是如此。这很直截了当

我的问题是页面上的其他部分。我的应用程序具有身份验证功能,因此有一个小部分包含用户的详细信息和注销按钮。有一个小部分包含用户拥有的消息,以及查看这些消息的链接

除此之外,我有应用程序的菜单,所有的页面也有自己的小菜单

现在我该如何为这样一个页面建模。我正在考虑为页面创建一个模型/视图。或者我创建一些小模型,比如menuModel、currentUserModel、messagesModel

“构建大型应用程序的秘诀是永远不要构建大型应用程序。将应用程序分解为小块。然后,将这些可测试的小块组装到大型应用程序中。”- 贾斯汀·迈耶,JavaScriptMVC作者(引自)

:)

这句话的意思是,在你的上下文中,你应该采取你在文章最后建议的方法

您应该为您的总体应用程序构建许多小型“应用程序”。您描述的页面的每一部分——授权、菜单、消息、主要内容区域——都应该是自己的一小部分代码,您可以将其封装并与整个应用程序的其余部分分开

一旦你把所有这些小东西都准备好了,你就有几种方法可以让它们交流。正如Addy Osmani在该链接中所建议的那样,您可以使用调解人。您可以像我在这里通常使用和描述的那样使用事件聚合器:当然,还可以使用其他模式


通过采用构建许多小型应用程序的方法(用户与之交互的整个页面的每个功能区域都有一个应用程序),您将创建适当解耦、组织良好且易于长期维护的代码。

,我也明白创建“小规模”应用程序的意义——这是我设计应用程序的一贯方式。我也看了一下链接,这是一个非常好的例子,我一定会用到。但我的另一个担忧是。大多数小块将与服务器通信(websockets/ajax)。当所有的小模型都有自己的要求时,这不会产生很多混乱。它会产生多少“混乱”取决于你。向服务器发出几个不同的请求本身不会造成混乱。如何组织进行这些调用的代码以及如何响应从这些调用接收到的信息将决定它是否会变得一团糟。拥有每个人都知道如何为一个特定资源进行通信的小块将保持这些小块的干净。然后你只需要保持片段之间的通信干净,这就是游戏中其他模式的com。我今天要做这件事,也许我想的太复杂了。