0

我是骨干新手。我习惯于将集合定义为一组已定义的模型,我的朋友,但我觉得有时,主干中的集合不一定包含模型,而是可以包含数据本身,这使得它们在应用程序中不那么繁重。他的理论是,all the models get instantiated every time a collection is instantiated makes the application heavier。然而,我的观点与他的观点不同,他认为只有模型的属性会发生变化,而不是模型本身。

  1. 集合中的模型是否会使应用程序变得繁重?
  2. 最好使用没有任何模型的集合吗?
  3. 坚持这样的模式可以吗/这是一个好习惯吗?
  4. 有哪些场景可以实现这样的设计?
4

1 回答 1

2

没有模型的集合与空数组一样有用。它们可以有目的,但我敢打赌,你会发现自己经常处理填充的集合。

是的,Backbone 集合包含模型,是的,每当您向集合添加某些内容时,就会创建模型(您之前已经创建了模型,或者如果您传递哈希或从中获取数据,它将由集合本身创建)服务器)。这就是 Backbone 的工作方式。

回答您的问题:

集合中的模型是否会使应用程序变得繁重?

不是或者是。我会说不,但这取决于您如何定义Heavy。这意味着什么?您是否发现自己在 JS 中处理数字?然后尽可能地原始。你正在构建一个网络应用程序吗?我猜 Backbone 的开销和它提供的好处(例如事件处理)会让你决定坚持下去。剖析师始终是您的朋友。

最好使用没有任何模型的集合吗?

这对我来说毫无意义,但只有具体情况才能说明。

坚持这样的模式可以吗/这是一个好习惯吗?

是的,这完全有道理,而且是很好的做法。

有哪些场景可以实现这样的设计?

如果性能是一个问题,原始数组总是比集合快。您决定管理此类代码的努力是否值得。

于 2013-06-05T14:24:05.027 回答