首页 > 代码库 > mvc mvp mvvm区别

mvc mvp mvvm区别

1 mvc是有视图(view),控制器(controller),模型(model)组成

                                      view(用户界面)

             controller (业务逻辑)            model(数据存储)

接受指令的方式:

第一种: view接收指令 传送给controller,完成业务逻辑后,要求model状态改变,model将新的数据传给view,用户得到反馈

第二种: controller直接接受指令,后面通信和第一种一样

 

相同点:通信是单向的

 

2mvp, controller变成presenter,通信方向相反,model不与view直接交流

 

                 view(视图)

    presenter()          model(模型)

 

View 非常薄,不部署任何业务逻辑,称为"被动视图"(Passive View),即没有任何主动性,而 Presenter非常厚,所有逻辑都部署在那里。

 

基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。

 

3 mvvm模式, presenter变成viewModel。 区别是数据双向绑定,view变化,实时反映在viewmodel

mvc mvp mvvm区别