mvc mvp mvvm区别

时间:2023-03-09 07:55:47
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