安卓开发电商mvp框架和流式布局,搜索框

news/2024/11/28 21:48:25/

在这里插入图片描述
在我看来mvp框架其实是mvc框架变种产品。讲原本的activity/fragment的层次划分成present层和view层。m还是原来的实体层用来组装数据,p层则用来隔离view层,被称为中介层,v层还是view层主要用来展示数据的层。如下图所示:

有了present层之后呢?view层就专心在activity/fragment里面主要去处理视图层和维护自己的生命周期,将业务逻辑委托给present层,present层作为实体层和视图层的中介。实体层和视图层不直接进行交互,而是通过委托给persent层进行交互,这样做的好处是:

分离了视图逻辑和业务逻辑,降低了耦合
Activity只处理生命周期的任务,代码变得更加简洁
视图逻辑和业务逻辑分别抽象到了View和Presenter的接口中去,提高代码的可阅读性
Presenter被抽象成接口,可以有多种具体的实现,所以方便进行单元测试
把业务逻辑抽到Presenter中去,避免后台线程引用着Activity导致Activity的资源无法被系统回收从而引起内存泄露和OOM
方便代码的维护和单元测试。


http://www.ppmy.cn/news/842296.html

相关文章

[02.02]主题之家精美主题每日更新【雪豹】

[02.02]主题之家精美主题每日更新【雪豹】 温馨提示: 1:此更新合集由雪豹整理,由于主题之家采用防盗链设计,直接点击会出现盗链接的提示,请下载时点击直接下载或用下载工具下载. 2:以下所有软件均来自网络,…

3D动作绑定_玩3D创作,怎能少得了它呢?

Blender 2.82是一款免费开源的3D创作软件。它支持整个3D管道建模,绑定,动画,模拟,渲染,合成和运动跟踪,甚至视频编辑和游戏创建。高级用户可以使用Blender的Python脚本来定制应用程序并编写专用工具。需要的…

3种团队分组适应项目_分组团队竞赛活动方案

为营造新年春节期间良好的经营氛围,形成规范有效的服务流程,促进员工快乐积极向上工作,铸造峡市娱乐行业名牌,经KTV 管理人员研究制定以下分组评比竞赛方案: 第一:分组办法。 1、KTV主管杨海军、华磊、冯磊、王海洋四人各带一组。 2、KTV部门员工自行选择带组主管,如出现…

Mac家谱制作软件MacFamilyTree 9好用吗?如何在MacFamilyTree 9中创建数据库的备份?

Mac家谱制作软件MacFamilyTree 9好用吗?MacFamilyTree 能够帮助你记录、储存、和显示您的家庭信息,打印家族树、列表、卡片、遗传图表,能够让你清晰的了解你的家族人员情况,是一款好用不容错过的Mac家谱应用软件!如何在MacFamilyTree 9中创建数据库的备份?欲知详细内容,…

北京,北京!用Python解析生活成本之高,讨生活之不易啊!

大家好,我是菜鸟哥! 最近发现了一个神奇的网站,可以查询世界上绝大多数城市的生活成本情况,包括衣食住行等等各个方面,可以让我人在家中坐,便知天下各地人民的生活状况。害,真是咸吃萝卜淡操心呐…

MVVM模式删除新增修改DataGrid内容

MVVM(Model-View-ViewModel)模式是一种用于构建用户界面的软件设计模式,它能够有效地将数据、用户界面和业务逻辑分离。在MVVM模式中,View负责呈现用户界面,Model负责存储数据,而ViewModel则充当View和Mode…

ES6转ES5的问题处理详解

各位同仁,想想什么情况下,我们需要做es6转es5呢?明明技术都那么成熟了。js版本语法不断更新,也更加满足不同业务所需。为啥还要往回走呢。无他,需要做向下兼容的时候。 当一个vueelement的纯html项目需要需要兼容IE9的…

词典的屏幕取词功能(有道,金山,必应)

我的电脑WIN7_64,前两者目前的屏幕取词的支持不太好.尤其是对android studio.后来试了试必应ok了. 必应使用注意:按ctrl进行取词同时鼠标进行移动后才开始实施取词,而不是按ctrl后就直接取词. 为什么找到了必应:在各种网页版词典搜索grunt时只有必应的结果列表中出现了想要的…