1

我是一个构建单页 Javascript 应用程序的团队的成员。我主要来自网络背景(Struts、Spring、Rails、Sinatra 等),我知道这对 MVC 模式有不同的解释。我在 Desktop MVC(我相信它适用于单页 Javascript 应用程序)中看到的一件事是它们使用可实例化的模型和单例控制器和视图。也就是说,可能有Company.BookCompany.recentlyPurchasedBooksControllerCompany.recentlyPurchasedBooksView。控制器保留模型的一个实例(或其集合),并且视图会随着模型的变化而自我更新。

我的团队——同样来自网络背景——发现这非常“神奇”。他们非常喜欢这样的工作流程,其中控制器创建视图实例,使用模型填充它,并将其呈现到页面的一部分。

我对此有一些反对意见,但我没有任何个人经验告诉我我的反对意见实际上很重要。首先是控制器不应该知道 DOM,因此不能告诉视图在哪里渲染。他们认为视图应该是可实例化的(“如果您想要页面上的多个视图副本怎么办?”),我回应说他们可能在这些情况下需要一个集合视图。

我在哪里可以找到博客文章、书籍、参考资料以及任何有助于解决这场争论的东西?从长远来看,为了开发者的舒适而打破 MVC 模式会是净收益还是净损失?

4

1 回答 1

2

虽然我自己不使用它*,puremvc有一个其 MVC 实现的 javascript 端口,我发现它非常有指导意义。它的关注点分离很明显,包括你提到的那个,控制器视图知识,很漂亮,他们的对象图也是如此。

*对于一页 javascript web 和 air 应用程序,我一直在使用JavaScriptMVC,我发现它可以无休止地缓解我的开发问题(尽管我没有使用所有它,只是我喜欢的部分 - VC)。

于 2011-03-16T01:30:59.630 回答