Backbone.js真的是MVC吗?

mty*_*son 18 javascript model-view-controller model backbone.js

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.)

Jos*_*eph 19

Backbone是MV*(MV-star)之一.有没有控制器因为操作该应用程序中的逻辑是在视图(像M(V + C)代替).

并且"模型"没有统一的定义,因为它在不同语言的不同框架中的使用方式不同.但通常,模型只是数据存储的抽象,并且可选地具有一些逻辑,如验证,格式化和状态更改挂钩.


Yug*_*dle 11

当你试图找到" M "(模型)" V "(视图)和" C "(控制器)时,它有点混乱.

通过这种方式,我们总能在条款上争论,但重要的是打算.

将" 条款 "与" 意图 " 相交:

"M":

骨干模型.该集合被绑定到模型.

"V":

默认的Underscore.js模板表示标准MVC的" 查看意图 "

"C":

Backbone ViewController.它在主干中称为View(与许多其他类似Django一样)因为它处理渲染.从MVC的角度来看它是一个Controller.路由视图绑定

现在,有时只是为了满足MVC缩写,有人称之为" 模型视图集合 ".但这不应该说.