4

我正在重写我的 App 框架以供将来重用,我遇到了一个有趣的问题:

将应用程序与模型或视图一起线程化更好吗?

例如

将应用程序与视图一起线程化可能看起来像(请忽略任何语法错误)

....
//inside of AppView() or something

 var somepage = new PageView({model:new PageModel({url:"whatever"}),some more stuff..}), some more..});
 // then in PageView's initialize, listen for the model's load to call render()..

还是这样做会更好:

....

 var somepage = new PageModel({url:"whatever",view:new PageView({}),some more stuff..}), some more..});
 // then in PageModel's parse() function call this.view.render()..

就我个人而言,我倾向于在 View 流行的情况下对其进行编码,但我已经看到它以两种方式完成,并且想知道是否有任何主要优势支持其中任何一种。

顺便说一句,用例基本上是一个框架,它在 JSON 中使用一种“站点地图”来设置整个站点(类似于 AS3 Gaia 框架对 XML 所做的),然后它会启动如下内容:

在此处输入图像描述

4

1 回答 1

4

模型有 2 个典型用例

  1. 表示某种数据,通常参考服务器上的某种 rest Api。在这种情况下,视图管理和控制模型和模型中的数据。
  2. 表示应用程序的状态或视图的状态(它是应用程序的一部分)。在这种情况下,模型反映了视图的状态,但它自己没有任何任务。视图只对状态和状态变化做出反应。

在这两种情况下,模型都应该是视图的一部分或附加到视图,反之亦然。很明显选项1。

于 2012-08-21T21:01:29.660 回答