对常见软件架构MVC,MVP和MVVM的浅显理解

前情提要

学过ASP.NET, DJango, 和Vue,然后我还去查询了一些 关于MVP的文章
~

过程

ASP.NET – MVC

MVC就是Model, View和Controller

我们写ASP.NET的过程

  1. 先把Model写好了,然后通过entity framework根据Model生成数据库
  2. 填充Controller,每一个Controller的函数对应至少一个View的页面,Controller类似于一个Route。
  3. 完善View的布局。

通信方式是酱紫的:M->V->C->M->…

Model
数据传递到 View
中展示

用户在 View
中的操作传送到 Controller
中运行相应代码

Controller
运行的代码将改变 Model
的结果

DJANGO – MTV 其实也是MVC

MTV是 Model
, Template
(MVC中的View)和 View
(MVC中的Controller)

通信方式就是M->T->V->M…

Vue – MVVM

MVVM是 Model
View
ViewModel

Model
还是跟数据挂钩, View
还是跟视图挂钩

ViewModel
则是二者之间的桥梁。

在MVVM中,M和V并不直接进行通信,而是要通过VM。

通信方式是这样的:View<=>ViewModel<=>Model

MVP

MVP(P是Presenter)跟MVVM很接近,唯一的区别根据 上面提到的那篇文章
,在于"MVVM用双向绑定(data-binding):View的变动,自动反映在 ViewModel,反之亦然。"。那么MVP就是没有双向绑定的MVVM,也就是说 View
发生变动的时候需要进行一次通信,传输给 Presenter

尾巴

  1. 害,理解的太浅了,还需要更努力才行!
  2. 明天要早起去买菜,准备7点半起,那么现在差不多该睡了…
  3. 今天稍微复习了一下Vue,明天开始看XCSF推荐的做自己UI系列了~

原文 

https://segmentfault.com/a/1190000022506560

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 对常见软件架构MVC,MVP和MVVM的浅显理解

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址