2

我试图了解MVC(例如,它适用于 Java 桌面应用程序)是否适用于 JavaScript Web 应用程序。

MVC我的意思是:

  • 模型是表示应用程序状态的数据。它不知道页面 DOM。
  • View是 DOM 树和函数,它监听 Model 的变化并更新 DOM
  • 控制器监听用户手势(例如“按下按钮”),调用服务器,并更新模型而不是视图

我浏览了几个 JavaScript 应用程序,发现了一些不同的东西。它们在ModelView之间没有明确的区别。也就是说,应用程序状态分散在 DOM 树上,而控制器(例如 ajax 回调)直接更新视图(DOM 树)。

现在我想知道MVC上面描述的是否真的适用于在浏览器中运行的 JavaScript 应用程序。你怎么看?

4

3 回答 3

2

带有 JavaScript 的 MVC 已经存在并且已经成为可能。那里有大量的图书馆。我给你一些资源来挖掘:

Addy Osmani 博客包含很多关于 JavaScript 设计模式的信息,特别是关于 MVC,你应该看看http://addyosmani.com/blog/。他还写了一本关于 Javascript 设计模式的书http://addyosmani.com/resources/essentialjsdesignpatterns/book/

于 2012-05-14T10:37:04.313 回答
1

在 JavaScript 中,由于其动态特性,这些模式会有所不同,具体取决于构建它们的程序员和基于它构建的应用程序。而 MVC 只是一大堆模式中的一种。

于 2012-05-14T10:33:40.790 回答
1

您可以将 MVC 用于 JavaScript 应用程序,并且不乏可提供帮助的框架

但是有很多应用程序不是这样(部分原因是 JavaScript 直到最近才被广泛认为是一种“严肃”的语言,所以这种开发实践对于大部分 JS 社区来说都是新的)。

于 2012-05-14T10:34:55.657 回答