Android MVP系列(一)

Android MVP方面的知识,我想大家都不陌生了,这里我就做些总结与归纳;我会写一个系列的Android
MVP的文章推送给大家,不敢保证你们都能完全的会使用,但是我敢保证的是你肯定能对MVP会有一个新的认识;废话不多说下面进入正题。

引言

作为一个Android 的移动开发者我相信很多人都应该了解Android MVP框架;我相信很多人都想知道那么MVP框架为什么要学习?学习了有什么用?我们作为程序猿相信每个人都离不开这些高性能、高效率的开发工具了,居然我们对工具的使用是如此,那我们对自己敲的代码又何尝不是如此呢?
Android的MVC架构我想我们很多人都是了解、清楚的,那么使用过MVC的老铁更加清楚的知道MVC的弊端的:臃肿、扩展性差、耦合性高等等缺点,人类的特点就是进化,从猿人到现在繁华的世界。因此,Android MVP框架就应运而生了,它有着诸多的优点:
1.解决了Acticity的臃肿问题
2.扩展行更强
3.耦合性低

作为程序猿的我们怎么不去学这个高效的MVP框架呢?那就跟着我的脚步,你会惊讶Android MVP的学习就是那么简单

场景

我先来描述一个场景:

1、新闻列表展示
3、新闻列表要可以排序,可能会有n个条件
4、新闻列表的item点击跳转到详情页面
5、新闻列表可编辑,也许包括CURD,同时要同步服务器
6、新闻item长按可以删除,收藏等功能

我相信这个场景是很常见的,我们试想一下这个需求不是一次就直接全部给出来的,是依次由产品经理提出来的;

  • 展示新闻界面
  • 产品经理通过市场那边发现需要可以排序
  • 又提出需求点击item查看详情
  • 最后又提出item长按支持删除、收藏、取消收藏等
    。。。

还有很多很多的需求增加。哈哈,看到这里的程序猿包括我在内(老子真想给他一刀),就不能一次说完么?但是现实中我们遇到的情况就是这样的,需求不断的增加。

通常做法

1.展示新闻界面:
在activity中添加一个列表,然后列表来展示新闻,所有的代码就写在Activity中;网络请求,列表刷新都放在activity中来执行。从只有这么一个简单的需求来说这样写是最简单的。
2.增加需求:下拉刷新,上拉加载更多
大多数人可能还是会按照上面的方法,将刷新和加载更多都放在activity中
这样做依然没有任何的问题。
3.增加需求:支持时间、内容、关键词排序
由于在创建项目的时候没有想过接下来会增加这么多需求,那么可能接下来的措施是依然往activity中添加排序需求代码。

。。。

后面依次增加需求,这样我们的activity中的代码之后就会非常难读、臃肿。我们试想一下要是你把这样的代码交接给同事,看到这样的代码同事估计不知道如何下手,估计你的同事有想打你的冲动。我们换个思考,假如是你事隔多天之后,测试的同事给你说,某某地方有bug需要你去处理一下,估计你自己看到自己的代码你想死的心情就有了。
Android MVP系列(一)_第1张图片
哈哈,拿菜刀干。。。

MVC的出现

然后就有人说了,这样写代码不行,我们应该引入一种设计模式或者是框架之类的东西,既然上面的代码臃肿,难读,那我们就引入MVC框架来设计吧。

如果你要想更佳深刻的理解MVP,并在实际开发中灵活的应用,那么就要先了解它的低配版MVC,他俩只是一步之遥,先了解MVC再学习MVP,MVP的优势才能凸显出来,这样连贯性的学习才会加深对MVP的理解。

下面一章节我会着重介绍MVC的设计,有人就会问了,你不是说你要讲MVP的吗?怎么去讲MVC了,放心我肯定会着重讲解MVP的,但是在讲MVP之前我们要介绍下MVC。

只有经过MVC的这种模式你才能更加清楚的认识到MVP框架的优势。


关注我,一定会有意想不到的东西等你:

每天专注分享Android、JAVA干货
Android MVP系列(一)_第2张图片

备注:程序圈LT
微信扫一扫
关注该公众号

你可能感兴趣的:(android)