对MVVM MVC MVP的理解
好久没有更过帖了,今天我们来聊一下MVVM ,MVC , MVP 的区别及通信方式
首先来说MVC
MVC模式最开始是服务器端的Web开发,后来渐渐的变成了用作客户端的Web开发,
能够满足他的复杂性、丰富性。
M : Model 模型层
其主要用于封装和应用程序的业务逻辑及相关数据还有对数据的处理方法
V : View 视图层
主要用来渲染页面
C : Controller 控制层
它是控制 Model 模型层 和 View 视图层
控制程序流程和页面业务逻辑
MVC模式的特点:
(1)关注点实现分离 耦合性低
(2)易开发,易维护
(3)代码重用率性高
(4)技术含量降低
(5)生命周期成本低
(6)部署快
MVC模式的缺点:
(1)对应用程序有要求,不适用于小型、中型规模的程序
(2)低效率访问
MVC模式
MVP可以说成是MVC改良模式,他和MVC模式的相同之处在于Controller或者Presenter
都负责业务逻辑,Model管理数据,Presenter将Model模型层和View视图层进行了分离。
但是主要的循环逻辑还是在Persenter里面实现
M :Model 模型层
V : View 视图层
P : Persenter 负责沟通Model模型层和View视图层,同时改变了通信方向。
MVP的特点:
(1)M/V/P之间是双向通信的
(2)View和Model之间是互不通信的,都是通过Presenter进行传递
(3)所有逻辑部署都在Presenter内进行
(4) Presenter与具体的View是没有直接关联的,是通过定义好的接口进行
交互所得
MVPde缺点:
(1)交互过于频繁 是的两者联系过于紧密,
一旦视图发生更改,Presenter也要进行变更
最后来说MVVM 是什么
MVVM模型和MVC模型很类似,目的都是分离视图和模型
M : Model 模型层
其主要用于封装和应用程序的业务逻辑及相关数据还有对数据的处理方法
V : View 视图层
主要用来渲染页面
VM : View-Model 控制层
它是作为桥梁连接 Model 模型层 和 View 视图层
MVVM模型特点:
(1)低耦合,
(2)可重用性
(3)独立开发
(4)可测试