mvc mvp mvvm的区别

1. MVC:包括视图、控制器以及模型。视图传输指令到控制器,控制器完成业务逻辑后要求模型改变状态,模型将新的数据发送给视图,然后用户得到反馈,这样就形成了一个循环过程。

2. MVP:它将控制器修改为Presenter,视图与Presenter、Presenter与模型之间是双向传输的,但是模型与视图之间没有传输,它们两者通过Presenter进行传输。

3. MVVM:它将Presenter修改为ViewModel,并且ViewModel与视图之间变成了一种类似的模块,视图的变动将会自动映射在ViewModel上,然后与模型之间进行双向传输。

资料拓展:MVC是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面以及用户交互的同时,不需要重新编写业务逻辑。

MVP是从经典的MVC模式中演变而来的,Presenter负责逻辑的处理,Model提供数据,View负责显示。

MVVM就是将其中的View的状态和行为抽象化,让我们把试图UI和业务逻辑分开。