名称 | 简介 | 应用 |
---|---|---|
MVC | Model(数据模型)、View(视图)、Controller(业务逻辑,控制,处理输入写入数据库记录) 三层相互独立,通信都是单向的 C的存在是确保M和V的同步,一旦M改变V同步更新,C只起到路由的作用 业务逻辑局部部署在V 互动模式:一种通过View接受指令传递给Controller;一种直接通过controller接受指令 多个视图可以共享一个模型(最大化的重用代码) |
适合很大的应用程序 |
MVP | Model(数据模型)、View(视图)、Presenter(表现) 各部分之间的通信是双向的 V和M不发生联系,只能通过P传递,所有逻辑都部署在P V被称之为被动视图(不部署任何业务逻辑),没有任何主动性 |
|
MVVM | Model(数据模型)、View(视图)、ViewModel(视图模型) 采用双向数据绑定:view变动自动反映在viewModel 分离应用界面和业务逻辑 viewModel负责View和Model之间的信息转换,将View的Command传送给Model |
Vue Angular(Google推出的) React(Facebook推出的) |
MVC
1.Controller完成业务逻辑后,要求Model改变状态
2.Model将新的数据发送到View,用户得到反馈
MVC.png
MVP
MVP.png
MVVM
与MVP模式基本一致,区别在于它采用双向数据绑定
MVVM.png
参考文章地址:http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html