浅析MVC,MVP,MVVM三种模式
作者:互联网
首先知道M,V,C分别代表什么意思,就会更容易的理解三种模式
M – model – 数据
V – view – 视图(前端界面)
C – controller – 控制器(JS逻辑)
接下来我们就进入正题,看看三种模式的区别究竟在哪里?
MVC:
- View(视图)传送指令到Controller(控制器)层
- Controller(控制器)完成业务逻辑后,要求Model(数据)改变状态
- Model(数据)将新的数据发送到View(视图),用户得到反馈
对于MVC开发模式来说,开发者将三者定义成不同的类,实现了表现,数据,控制的分离。开发者更多的是从技术的角度来对UI进行拆分,实现松耦合。
缺点:
所有的通信都是单向的;
在接收用户指令时,MVC可以分成俩种方式。
一种是View(视图)接收指令,传递给Controller(控制器),
另一种是直接通过Controller接收指令。
MVP:
MVP模式将Controller(控制器)改名为Presenter,同时改变了通信方向。
- 各部分之间的通信都是双向的。
- View(视图)与Model(数据)不发生联系,都通过Presenter传递
- View(视图)非常薄,不部署任何业务逻辑,称为“被动视图”,即没有任何主动性,而Presenter非常厚,所有逻辑都部署在那里。
MVVM:
MVVM模式将Presenter改名为ViewModel,基本上与MVP模式完全一致。
唯一的区别是,它采用双向绑定(data-binding):View的变动,自动反映在ViewModel,反之亦然。
标签:MVP,控制器,MVVM,视图,Presenter,Controller,浅析,View 来源: https://blog.51cto.com/u_15275953/2924562