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

前情提要

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

过程

ASP.NET - MVC

MVC就是Model, View和Controller数据库

咱们写ASP.NET的过程mvc

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

通讯方式是酱紫的:M->V->C->M->...mvvm

Model 将数据传递到 View 中展现函数

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

Controller 运行的代码将改变 Model 的结果双向绑定

DJANGO - MTV 其实也是MVC

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

通讯方式就是M->T->V->M...htm

Vue - MVVM

MVVM是Model View ViewModelblog

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系列了~
相关文章
相关标签/搜索