android mvp 利弊,Android三剑客之MVP

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

在说MVP模式之前,先说说MVC模式:

MVC模式:

Android项目本身就是MVC(Model View Controlllor)模式。

Model:数据逻辑和实体模型;

View:布局文件,UI;

Controllor:指的是Activity。

一开始学习Android开发的时候,除了UI布局,大部分的操作都是写在Activity中的,能实现功能即可,随着业务的增多或者当遇到某个页面的逻辑较多时,Activity承担的任务就比较重了,要负责页面的展示和交互,还要负责数据的请求获取与业务逻辑处理,所以慢慢的一个Activity中就有上千行的代码了,可读性降低了很多。

MVP模式:

Model:数据逻辑和实体模型;

View:布局文件,UI;

Presenter:作为View与Model交互的中间纽带。

Presenter的出现,使得View不用直接和Model打交道,View只负责页面的显示和交互,Model负责数据的请求与获取,而Persenter负责传递事件与数据。

5ddf7208ecd43.jpg

MVP的优缺点:

优点:

1、降低耦合度,实现了Model和View的真正分离;

2、模块职责划分明显,层次清晰;

3、Presenter可以复用,一个Presenter可以用于多个View;

4、有利于进行单元测试,做到测试不依赖UI与交互。

缺点:

1、Presenter中除了应用逻辑以外,还有大量的View—>Model,Model—>Viewde的手动同步逻辑,造成Presenter比较笨重,维护起来还是会跟MVC中的Activity一样;

2、由于对视图的渲染放在了Presenter中,所以视图和Prestener的交互会比较频繁;

3、由于Persenter可能会跟视图比较频繁的交互,如果视图一旦发生变化,Presenter也面临修改的问题;

4、额外的代码复杂度和一些学习成本。

参考资料:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值