Backbone.js 被称为 Javascript 的 MVC 框架。但是是吗?
这是模型的描述,来自http://documentcloud.github.com/backbone/
模型是任何 JavaScript 应用程序的核心,包含交互式数据以及围绕它的大部分逻辑:转换、验证、计算属性和访问控制。您可以使用特定于域的方法扩展 Backbone.Model,并且 Model 提供了一组用于管理更改的基本功能。
现在,这根本不是我对 MVC 模型的理解。在我的理解中,模型只是为域建模的类,因此您的学生、学校和教师对象。控制器确实对它们执行业务逻辑并与视图交互以显示和接收输入。
这种理解与我在网上找到的各种定义一致,IE http://en.wikipedia.org/wiki/Model_view_controller:
模型-视图-控制器 (MVC)是一种用于计算机用户界面的设计模式,它将应用程序划分为三个责任区域:
模型:表示应用程序状态的域对象或数据结构。
所以,我的问题是:backbone.js 在某种意义上真的是一个 MVC 框架,还是只是一种帮助你将所有东西粘合在一起的通用方式?
顺便说一句,backbone.js 的常见问题解答中的模型定义似乎与我上面引用的不同(也来自backbone.js http://documentcloud.github.com/backbone/#FAQ-mvc:
Backbone.Model – 就像 Rails 模型减去类方法。在业务逻辑中包装一行数据。
那么在什么意义上,backbone.js 是否真的是 MVC?
(警告:我目前正在评估backbone.js。)