1、MVC 是应用最广泛的软件框架之一,一般MVC分为:Model(模型),View(视图),Controller(控制器)。
Model可直接访问业务数据,View数据的显示,Controller联系View和Model,基本联系是单向的。
首先View传送指令给Controller;
然后Controller完成逻辑后,要求Model改变状态最后:
Model将新数据发送给ViewUser。
MVC架构的缺点,视图与控制器间的过于紧密的链接。
2、MVP是从经典的MVC演变而来,Controller/Presenter负责逻辑处理,Model提供数据,View显示数据。不过在MVP中,Presenter把View和Model进行了分离,主要的程序逻辑在Presenter中实现,而Presenter与具体的View没有直接关联,而是通过定义好的接口进行交互,使得在更变View的时候可以保持Presenter不变。
3、相比于前面两种模式,MVVM只是把MVC的Controller和MVP的Presenter改成了ViewModel,基本和Mvp一致,唯一区别就是,采用双向绑定,View的变化会自动更新到ViewModel,ViewModel的变化也会同步到View上显示。