今天学习了MVC,MVP,MVVM,参考了网上一些资料。
1:MVC设计模式:
Model,View,Controller
(1):系统分成了三个部分:视图(View),用户界面;控制器(Controller),业务逻辑;模型(Model),数据保存。
(2):它们之间的通信:View 传送指令到 Controller;Controller 完成业务逻辑后,要求 Model 改变状态;Model 将新的数据发送到 View,用户得到反馈。
2:MVP设计模式
Model,View,Presenter。
Model记录了业务逻辑和数据的集合。
View 代表了UI组件,展示从Presenter接受到的数据。
Presenter 处理UI背后的所有事件
3:MVVM设计模式
Model,View,View Model
Model记录了业务逻辑和数据的集合。
View 代表了UI组件
View Model 负责暴漏方法,命令,其他属性来操作View的状态,组装model作为View动作的结果,并且触发View自己的事件。
总结:3种模式相同之处,都有Model,View层,唯一不同的是:
(1): Controller:控制层,负责UI的处理。
(2): Presenter :与View和Controller不同,View和Presenter之间是完全解耦的,他们通过接口来交互。presenter不像controller处理进入的请求。
(3): View Model:View 和 View Model数据相互绑定的。