学过ASP.NET, DJango, 和Vue,而后我还去查询了一些关于MVP的文章~html
MVC就是Model, View和Controller数据库
咱们写ASP.NET的过程mvc
通讯方式是酱紫的:M->V->C->M->...mvvm
Model
将数据传递到 View
中展现函数
用户在 View
中的操做传送到 Controller
中运行相应代码布局
Controller
运行的代码将改变 Model
的结果双向绑定
MTV是Model
, Template
(MVC中的View)和View
(MVC中的Controller)code
通讯方式就是M->T->V->M...htm
MVVM是Model
View
ViewModel
blog
Model
仍是跟数据挂钩,View
仍是跟视图挂钩
ViewModel
则是两者之间的桥梁。
在MVVM中,M和V并不直接进行通讯,而是要经过VM。
通讯方式是这样的:View<=>ViewModel<=>Model
MVP(P是Presenter)跟MVVM很接近,惟一的区别根据上面提到的那篇文章,在于"MVVM用双向绑定(data-binding):View的变更,自动反映在 ViewModel,反之亦然。"。那么MVP就是没有双向绑定的MVVM,也就是说View
发生变更的时候须要进行一次通讯,传输给Presenter
。