- mvc (
站在项目角度划分
)
model:模型,数据连接层
view:用户界面
controller:业务逻辑(分为router.js路由分发和controller业务逻辑)
v传指令到c,c完成业务逻辑后要求m改变状态,m将新的数据发送到v,用户得到反馈(原生的可以把js看作model,ajax看作model,html看作view)
- mvp(与mvc类似)
各部分之间通信都是双向的
view与model补偿发生联系,都与presenter传递,
view非常薄,基本没有业务逻辑,presenter非常厚,几乎所有的业务逻辑布置, - mvvm(
站在前端角度划分
)
model:前端的死数据或者ajax请求过来的数据
view:前端页面的渲染区域(视图模型)
viewModel:管理model和view的存和取
与mvc最大区别是它实现了model与view的自动同步,model的属性改变后我们不必手动操作DOM元素来改变view,而是自动改变