文档章节

Android MVP设计模式 开发感受

C
 Chendj
发布于 2015/09/03 20:17
字数 531
阅读 102
收藏 2

早期的android开发,就我而言,模块化非常的差。主要是没有这种概念和经验。也是近期一两年,才渐渐有了这样的思维,越来越发现其中的好处。

现在,大多数大公司的项目中随处可见MVP的设计模式来设计app,怎么说,用起来非常的难受,但是在后期的维护中却是非常的有用。

前一两年,基本上都是用介于MVP和MVC之间的一种设计模式来开发app,优点就是既能够像MVC那样快速的开发,逻辑没有那么的复杂,又能带有点MVP的味道,使得各个模块之间的耦合没那么强。

就最近的我自己一个人从0到整体app雏形完成的这个过程中,就发现了MVP使用起来,双甜苦辣各在其中。你需要额外的去思考,如何定义一个Activity中的功能,以及功能接口的名称,在P层中还需要去维护如果有后台线程操作的情况下,如何去操控它的生命周期。另外还需要考虑MVP带来的内存泄露问题。必须要使用软引用。

在开发到后期的时候,发现整体的类文件数量会是MVC设计模式的好几倍。你在A层和P层之前的解耦动作有时候也变的相对的复杂,而且还要考虑到有些P层的代码具有一定的公用性。需要做一定的抽离。

所以前段时间看见自己在MVP的模式下敲出来的P层很多逻辑上都非常的混乱。花了一两天去整理了一下。后期发现其实在使用了P层的开发模式之后,模块之间的代码重复冗余率低了,使用效率上高了很多。总之利还是大于弊的,开头总是辛苦,后期就会显得非常的轻松。


© 著作权归作者所有

C
粉丝 7
博文 24
码字总数 7791
作品 0
福州
Android工程师
私信 提问
Android 网络编程 目录

Android 网络编程 目录 Android 网络编程1 Http协议 Android 网络编程2 Okhttp缓存机制 Android 网络编程3 Java NIO to be continued... Android 架构师之路 目录 Android 架构师之路1 UML图...

香沙小熊
2018/06/21
0
0
Android--面试中遇到的问题总结(三)

《Android 开发工程师面试指南 LearningNotes 》,作者是陶程,由梁观全贡献部分。大家可以去知乎关注这两位用心的少年。这份指南包含了大部分Android开发的基础、进阶知识,不仅可以帮助准备...

sealin
2017/02/22
0
0
基于 MVP 架构使用Android通用开发框架快速开发微博项目实战

课程目标: 基于 MVP 架构使用Android通用开发框架快速开发微博项目实战 适应人群: 适合大学生和初中级android开发工程师,可以系统化的微博类APP的开发,系统化掌握商业化项目的开发。* 不...

13122542396
2018/05/25
0
0
Android程序员需要了解多少Java设计模式,Android应用经常使用的设计模式是什么?

Android程序员需要了解多少Java设计模式,Android应用经常使用的设计模式是什么? 熟悉Java设计模式、Android系统框架及相关SDK; 3、有丰富的开发经验,熟悉Android各种软件环境的特性; 4、能...

天池番薯
2015/04/24
89
0
[Andriod设计模式之旅]——Builder模式

版权声明:本文为博主原创文章,转载请注明出处http://blog.csdn.net/u013132758。 https://blog.csdn.net/u013132758/article/details/78764592 前言 具体介绍Builder设计模式之前,首先我们...

紫雾凌寒
2017/12/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

npm 发布webpack插件 webpack-html-cdn-plugin

初始化一个项目 npm init 切换到npm源 淘宝 npm config set registry https://registry.npm.taobao.org npm npm config set registry http://registry.npmjs.org 登录 npm login 登录状态......

阿豪boy
35分钟前
55
0
java基础(16)递归

一.说明 递归:方法内调用自己 public static void run1(){ //递归 run1(); } 二.入门: 三.执行流程: 四.无限循环:经常用 无限递归不要轻易使用,无限递归的终点是:栈内存溢出错误 五.递...

煌sir
39分钟前
35
0
REST接口设计规范总结

URI格式规范 URI中尽量使用连字符”-“代替下划线”_”的使用 URI中统一使用小写字母 URI中不要包含文件(脚本)的扩展名 URI命名规范 文档(Document)类型的资源用名词(短语)单数命名 集合(Co...

Treize
今天
57
0
CentOS-配置YUM源加速(阿里云、Nexus3)

备份本地源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 配置CentOS6 $ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/......

-自由人生-
今天
80
0
我如何获取一周中开始的DateTime?

我如何只知道C#中的当前时间来查找一周的开始(星期日和星期一)? 就像是: DateTime.Now.StartWeek(Monday); #1楼 丑陋,但至少可以给您正确的日期 通过系统设置星期开始时间: publ...

javail
今天
55
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部