博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVC、MVVM
阅读量:6247 次
发布时间:2019-06-22

本文共 1044 字,大约阅读时间需要 3 分钟。

参照 http://www.cnblogs.com/guwei4037/p/5591183.html

 

 

MVC、MVP、MVVM这些模式是为了解决开发过程中的实际问题而提出来的,目前作为主流的几种架构模式而被广泛使用。

一、MVC(Model-View-Controller)

MVC是比较直观的架构模式,用户操作->View(负责接收用户的输入操作)->Controller(业务逻辑处理)->Model(数据持久化)->View(将结果反馈给View)。

MVC使用非常广泛,比如JavaEE中的SSH框架(Struts/Spring/Hibernate),Struts(View, STL)-Spring(Controller, Ioc、Spring MVC)-Hibernate(Model, ORM)以及ASP.NET中的ASP.NET MVC框架,xxx.cshtml-xxxcontroller-xxxmodel。(实际上后端开发过程中是v-c-m-c-v,v和m并没有关系,下图仅代表经典的mvc模型)

二、MVP(Model-View-Presenter)

MVP是把MVC中的Controller换成了Presenter(呈现),目的就是为了完全切断View跟Model之间的联系,由Presenter充当桥梁,做到View-Model之间通信的完全隔离。

.NET程序员熟知的ASP.NET webform、winform基于事件驱动的开发技术就是使用的MVP模式。控件组成的页面充当View,实体数据库操作充当Model,而View和Model之间的控件数据绑定操作则属于Presenter。控件事件的处理可以通过自定义的IView接口实现,而View和IView都将对Presenter负责。

 

三、MVVM(Model-View-ViewModel)

如果说MVP是对MVC的进一步改进,那么MVVM则是思想的完全变革。它是将“数据模型数据双向绑定”的思想作为核心,因此在View和Model之间没有联系,通过ViewModel进行交互,而且Model和ViewModel之间的交互是双向的,因此视图的数据的变化会同时修改数据源,而数据源数据的变化也会立即反应到View上。

这方面典型的应用有.NET的WPF,js框架Knockout、AngularJS等。

转载于:https://www.cnblogs.com/TJessica/p/7048800.html

你可能感兴趣的文章
【跃迁之路】【637天】程序员高效学习方法论探索系列(实验阶段394-2018.11.10)...
查看>>
小菊花课堂之JavaScript作用域与闭包
查看>>
AliOS Things 电源管理框架使用说明
查看>>
Vue-cli的打包初体验
查看>>
关于MySQL 通用查询日志和慢查询日志分析
查看>>
一文带你学会使用YOLO及Opencv完成图像及视频流目标检测(上)|附源码
查看>>
单Activity多Fragment动态修改状态栏颜色功能
查看>>
AI技术出海 - 阿里云GPU服务器助力旷视勇夺4项世界第一
查看>>
小程序 二次封装wx.request方法
查看>>
C++ 类型转换
查看>>
promise.then
查看>>
Java中的四种引用类型:强引用、软引用、弱引用和虚引用
查看>>
cordova create 创建项目出错 (Error: Unhandled "error" event)
查看>>
指标模型运算系统的意义与实现
查看>>
简单实现 VUE 中 MVVM - step1 - defineProperty
查看>>
算法-比较数据
查看>>
Redux 关系图解
查看>>
vue 1.x 交互-仿百度下拉列表
查看>>
Zsh 开发指南(第一篇 变量和语句)
查看>>
[译] libuv 设计概述
查看>>