BackBone简介

BackBone是一个轻量级的MVC JavaScript库,具有以下特点:
强制依赖于Underscore.js
非强制依赖于Jquery/Zepto
下面是BackBone的MVC思想
BackBone简介_第1张图片他是从浏览器的HTTP开始,当如router检测到浏览器的URL满足特定的条件,就会匹配到相应的View,View则有两条路,上面一条请求view对应的Moudel,或者请求view对应的collection,collection也会请求对应的model,由model去请求对应的数据库服务器,当model拿到数据库服务器返回的数据后,通过事件(event)告诉view或collection,让他们做出相应的动作,view收到事件(event)后就开始渲染页面,而collection收到事件后再发送事件给view通过view来渲染页面
从整个Backbone的渲染机制来看,router监听URL变化分发给不同的View是Controller
collection其实是model的集合,很多model构成collection,所以model和collection是MVC中的M(模式)
最后View监听用户的操作修改model中的数据 是MVC中的V

通过实际浏览器的例子来回顾以上内容
BackBone简介_第2张图片Router是入口 View是核心
业界比较火的集中开发模式
MVC:Model-View-Controller
View(视图):用户界面
Controller(控制器):业务逻辑
Model(模型):数据保存
MVC的工作模式
BackBone简介_第3张图片MVP模式
:Model-View-Presenter
BackBone简介_第4张图片MVC与MVP的区别
MVP中各部分的通信都是双向的,
View与Model之间不发生联系,通过Presenter传递
View非常薄,不部署任何业务逻辑;Presenter非常厚,所有的逻辑都部署在这里
MVVM模式
:Model-View-ViewModel
BackBone简介_第5张图片MVVM与MVP模式的区别
:MVVM是采用双向绑定的(data-binding),View的变动,自动反映在ViewModel,反之亦然
下面是一个BackBone的学习资料
BackBone API:http://banckbonejs.org/
BackBone源码:http://github.com/jashkenas/backbone
BackBone TODO:http://backbonejs.org/examples/todos/index.html
BackBone Learn Note:https://github.com/the5fire/backbonejs-learning-note (一个中文的学习网站)

你可能感兴趣的:(BackBone)