MVC代表模型,视图和控制器。 Backbonejs.or通过与Rails进行比较来解释这一点,更多here及以下。因为我不知道Rails,所以比较是没有意义的。下面的exctract突出了控制器,也许是一个不严格的MVC的原因 - 不知道它推断什么。这是什么意思,骨干不是一个严格的MVC?说明“骨干不是严格的MVC”
摘自Backbonejs.org网站(来源here)。
如何骨干涉及到 “传统” MVC?
模型 - 视图 - 控制器模式的不同 实现倾向于不一致 约控制器的定义。 如果它在Backbone中有帮助,那么View类也可以被认为是一种控制器, 调度源自UI的事件,其中HTML模板 充当真实视图。我们称之为视图,因为它代表了一个逻辑块UI,负责单个DOM元素的内容。
骨干的整体结构比较像Rails的服务器端MVC框架 ,件排队,像这样:
- Backbone.Model - 就像一个Rails模型减去类的方法。在业务逻辑中包装一行数据。
- Backbone.Collection - 客户端的一组模型,具有排序/过滤/聚合逻辑。
- Backbone.Router - Rails routes.rb + Rails控制器操作。将网址映射到功能。
- Backbone.View - 一个逻辑的,可重用的用户界面。通常但并非总是与模型相关联。
- 客户端模板 - Rails .html.erb视图,呈现一大块HTML。
我添加了斜体以突出显示为什么它显然不是MVC。上面我可以找到模型和视图 - 术语 - 但术语controller
被明确地省略,而不是使用术语路由器,集合和模板。为什么路由器/集合/模板不是控制器?
我发现这个控制器 - 定义controller mediates input, converting it to commands for the model or view
(Wikipeadia here),有点模糊。
关于MVC的非常流行的线程[这里](http://stackoverflow.com/questions/5863870/how-should-a-model-be-structured-in-mvc/5864000#5864000)。 – hhh 2012-07-31 09:18:45