如果我有一个没有模型的Backbone View,我会偏离MVC吗?

时间:2011-09-15 14:40:21

标签: javascript model-view-controller backbone.js

我有几个视图似乎没有逻辑上连贯的模型。我仍然可以尝试为这些创建虚拟模型(并且也适当地使用路由器)但对我来说似乎不自然。

具有Backbone View而没有相应的模型是反模式吗?

专家对此有何评论?

3 个答案:

答案 0 :(得分:16)

骨干的各个组成部分相互配合良好,但没有必要让它们永远在一起。

我经常会有没有视图的模型,没有模型的视图。骨干应用程序的每个部分都可以以多种不同的方式使用,以方便您的应用程序执行的操作。

答案 1 :(得分:5)

我认为这不是特定的反模式。如果您要做的就是封装视图行为,那么编写视图并将其附加到元素可能是有意义的。它可能没有任何业务逻辑或可持久数据......它可能只是一个封装视图行为的视图(就像根据事件管理元素状态的东西)。在这种情况下,不需要模型。

另一方面,如果您正在管理一堆变量(可持续或不可持续)和任何类型的业务逻辑,那么将其分解为模型是有意义的。

答案 2 :(得分:3)

如果您正在考虑添加虚拟模型或任何其他逻辑/代码以使架构适合模式,那应该是红色鲱鱼。该模式应该可以帮助您设计逻辑上组织良好的可预测代码。