我正在构建一个小型管理应用程序,我想在客户端上使用Backbone.js。
现在我在理解如何建模页面方面遇到了一些麻烦。我举一个例子。
假设我有2页:产品,订单。
现在我了解产品页面上的产品模型,集合和视图。订单页面也是如此。这很简单。
我遇到的问题是页面上的其他部分。我的应用程序有身份验证,因此有一小部分包含用户的详细信息和注销按钮。有一小部分包含用户拥有的消息,以及用于查看消息的链接。
除此之外,我有应用程序的菜单,所有页面都有自己的小菜单。
现在我该如何建模这样的页面。我正在考虑为页面创建模型/视图。或者我创建像menuModel,currentUserModel,messagesModel这样的小模型。
答案 0 :(得分:1)
“构建大型应用程序的秘诀永远不会构建大型应用程序。将应用程序分解成小块。然后,将那些可测试的,一口大小的应用程序组装到您的大型应用程序中” - Justin Meyer,作者JavaScriptMVC(引自http://addyosmani.com/largescalejavascript/)
:)
在您的上下文中,引用的要点是您应该采用您在帖子最后建议的方法。
您应该为整个应用程序构建许多小“应用程序”。您描述的页面的每个部分 - 授权,菜单,消息,主要内容区域 - 应该是您自己封装的一小部分代码,并与整个应用程序的其余部分分开。
一旦你掌握了所有这些小件,你可以通过几种方式让他们进行交流。您可以使用调解员,正如Addy Osmani在该链接中所建议的那样。您可以使用事件聚合器,因为我通常在这里使用和描述:http://lostechies.com/derickbailey/2011/07/19/references-routing-and-the-event-aggregator-coordinating-views-in-backbone-js/当然还有其他模式可以使用。
通过构建许多小应用程序的方法 - 一个用于用户正在与之交互的整个页面的每个功能区域 - 您将创建正确解耦,组织良好且易于维护的代码从长远来看。