一个大观点还是多个观点?

时间:2012-04-09 15:41:42

标签: knockout.js

在我的网络应用中,有5个不同的部分:博客显示,博客条目列表,博客条目编辑器,博客编辑器,一页上的评论列表。

这些部分中的某些部分仅在触发操作时显示,例如单击视图评论链接的博客条目链接应显示评论列表。单击编辑博客条目链接应显示博客条目编辑器。

在淘汰赛中,拥有一个大视图或多个视图会更好吗? (性能和可维护性条款)

1 个答案:

答案 0 :(得分:2)

我认为拥有多个视图模型与一个胖模型相比不会影响性能,但是就干净的代码和方便性而言,我会采用OOP方式使用一个模型。

我的意思是:

function SubModel1 () { ... }
function SubModel2 () { ... }
function SubModel3 () { ... }

function MainModel () {
  this.subModel1 = new SubModel1();
  this.subModel2 = new SubModel2();
  this.subModel3 = new SubModel3();
}

所有特定于模型的逻辑都是分开的,您仍然可以轻松地订阅MainModel构造函数中模型之间的每个可观察对象。

我尝试了两种方法(单独的模型和一个大模型),这个方法确实有助于避免复杂化。

此外,还有一些任务我会选择单独的模型。例如,UI小部件。最好是让他们的模型远离外部,因为它们是独立的