Javascript 主干网设计-大型应用程序,根据需要提供数据

Javascript 主干网设计-大型应用程序,根据需要提供数据,javascript,design-patterns,backbone.js,Javascript,Design Patterns,Backbone.js,我有一个主干设计模式的问题 假设我有一个非常大的应用程序,我说的是大约30个模型,更多的视图和组件 我的设计问题是: 我无法引导数据。这个应用程序是100%API驱动的,我也不能一次获取所有实体(每个数据库表有数千个实例)。我无法将应用程序清晰地划分为更小的模块,因为每个模块都严重依赖于所有的模型和集合 目前,我有控制器,我有一个调度器拆卸和设置每个控制器需要。控制器的工作是创建模型,并获取完成该屏幕所需的所有数据。然后视图渲染 这种方法开始证明一些问题,我正在寻找一些关于这种规模的应用程序的建

我有一个主干设计模式的问题

假设我有一个非常大的应用程序,我说的是大约30个模型,更多的视图和组件

我的设计问题是:

我无法引导数据。这个应用程序是100%API驱动的,我也不能一次获取所有实体(每个数据库表有数千个实例)。我无法将应用程序清晰地划分为更小的模块,因为每个模块都严重依赖于所有的模型和集合

目前,我有控制器,我有一个调度器拆卸和设置每个控制器需要。控制器的工作是创建模型,并获取完成该屏幕所需的所有数据。然后视图渲染

这种方法开始证明一些问题,我正在寻找一些关于这种规模的应用程序的建议

我想到的另一个解决方案是放弃执行抓取并将此类逻辑移动到视图的控制器。但是,每个视图都有许多子视图,这些子视图也需要这些数据。最好是让这些子视图尽快生成,然后让它们获取自己所需的数据(并实现缓存机制),还是让父视图在返回数据后生成子视图(我知道每个子视图都有它们的用例)

示例站点:


当前设计中出现的问题的本质是什么?性能?@mjswensen最大的两个问题是:1。保持干燥。有时我必须在控制器中执行一个fetch,以便更新url,更新页面标题。但由于视图事件需要新数据,我可能需要再次执行提取。2.使事件能够顺利进行。假设我有一个视图A和一个子视图B。当一个动作将视图A换成另一个视图C时,我会获取任何重用的视图。这在理论上是好的,但我不知道视图B是否应该保持,直到我从控制器获得数据,这当然会触发事件,并可能中断things@mjswensen我已经编辑给出了一个使用中的示例站点。如果您转到,然后单击用户面板上的汽车图标(车库)。