我是一个构建单页 Javascript 应用程序的团队的成员。我主要来自网络背景(Struts、Spring、Rails、Sinatra 等),我知道这对 MVC 模式有不同的解释。我在 Desktop MVC(我相信它适用于单页 Javascript 应用程序)中看到的一件事是它们使用可实例化的模型和单例控制器和视图。也就是说,可能有Company.Book
、Company.recentlyPurchasedBooksController
和Company.recentlyPurchasedBooksView
。控制器保留模型的一个实例(或其集合),并且视图会随着模型的变化而自我更新。
我的团队——同样来自网络背景——发现这非常“神奇”。他们非常喜欢这样的工作流程,其中控制器创建视图实例,使用模型填充它,并将其呈现到页面的一部分。
我对此有一些反对意见,但我没有任何个人经验告诉我我的反对意见实际上很重要。首先是控制器不应该知道 DOM,因此不能告诉视图在哪里渲染。他们认为视图应该是可实例化的(“如果您想要页面上的多个视图副本怎么办?”),我回应说他们可能在这些情况下需要一个集合视图。
我在哪里可以找到博客文章、书籍、参考资料以及任何有助于解决这场争论的东西?从长远来看,为了开发者的舒适而打破 MVC 模式会是净收益还是净损失?