android mvc mvp 简书,Android Mvp、Mvc、Mvvm

前段时间项目上有点忙,已经停止更新很久了,最近有空,想把自己之前再项目中用的一些,或者学习的一些知识总结一下,哈哈,又快到年底啦。可以做做准备哦。

首先要明确了解MVP、MVC、MVVM 都是软件的架构,然后我们再来分别了解下他们之间的优缺点和联系

MVC

mvc的意思是,软件可以分为三个部分

mvc(model-view-controller)

modle(数据模型):数据的存储对象

view(试图): 用户的界面(也就是我们所说的activity界面)

controller(控制器):业务逻辑层

各个模块之间的联系如下图

eeac4b69d49f

mvc.png

view:用户在界面操作之后,传达指令给controller控制层

controller: 接收指令之后,进行相应的业务逻辑之后,得到数据,传递给model

model: 在得到新的数据之后,通知view界面更新状态

MVC优缺点:

优点:

讲业务逻辑层都抽到controller层,模块化程度高

缺点:

view-model-controller之间的联系紧密,耦合性低,不利于测试和修改

MVP

mvp和mvc类似,只是将controller改为present

(model-view-present)

model(数据模型):数据的存储

view(试图):用户的界面(也就是我们所说的activity界面)

present:主要负责view和model之间的交互

各个模块之间的联系如下图:

eeac4b69d49f

mvp.png

中间实现的原理个人理解就是:

activity界面实现一个viewInterface

present对象中注入viewinterface实例

在present中可以做任何复杂的业务逻辑操作

处理结束之后,可以通过viewinterface,直接更改activity界面的更改

哈哈,是不是很简单。

mvp优点:

model层不再直接更新view层,降低了耦合性,更利于测试

MVVM

mvvm模式将mvp中present改为viewModel,基本和mvp一致

关系图如下:

eeac4b69d49f

mvvm.png

关于什么是MVVM可以参考下这这篇文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值