封装之路(三)架构模型

原创 2016年08月28日 18:32:43

封装之路(三)架构模型

前面写了BaseApp和BaseActivity的源码,有留言询问怎么使用,这里简单说下:
这个框架的形成原因是由于自己在学习开发android时候,重复以及代码重构太差,因此开始关注开发架构,而使用了一些开发架构,比如MVP+Dagger2的模型,其实完全可以解决当前问题,后续在关注MVVM时候,发现它的优势更大(当然也有利弊,总体来说,比MVP更好用),而当前流行的MVVM架构,使用的是三方实现的databinding(不符合主流google,果断放弃),因此自己想去实现一个基于MVVM的框架,同时将开源的三方比较成熟的库依赖进来,做出一些工具类,方便快速开发,后续完善代码的同时,去完善文档,使这套框架可以呈现生命特征,延续持久的存在下去。

有时需要权衡,Base到底是实现更多功能,还是保持清晰,只存留简单的架构的内容,其余的统统留给开发者。(这里我选择了后者,保持其单纯目标即可)

由于也是自己慢慢实践,必然有不成熟的地方,欢迎大家指出。

这节我们讲下整体架构,也是后续这边xmCore架构去完善的地方。首先,我们看下这张图:
这里我们依次讲解下各个模块的目的:
BaseApp 这个里面完成基础app的功能,比如存储,log之类的,性能之类。这个后面会慢慢修改的。

BaseActivity 这个里面完成初始化View和注入Vm,绑定Vm的过程,随后则将逻辑推给Vm,后续有个消息注册和Bus的绑定解绑,也在base内部处理掉,我们外面不需关注了,直接使用即可。

BaseViewModel 实现VM的代码逻辑,里面绑定Model,和设计好通知界面更新,通过Model去拿到数据,这边注册Bus,通过注解来获取到Model返回的数据,进行通知界面更新即可。

BaseBean 数据原型,让继承使用,主要目标是让所有数据都继承这个,方便后面变量传入,强转和判断使用的。

BaseModel model的基类,基本没啥动作,初始化即可。后续方便实现基础功能,作为所用Model的基类使用。

Retrogit +okhttp 完成网络数据请求动作。RxAndroid完成返回数据的初步处理过程,然后交给VM去处理即可。
数据库将会使用GreenDao ,可以初步去网上看看,之前一直没使用的原因是Greendao之前是需要手动完成table的生成的,不方便,最新的已经可以直接注解方式实现,非常方便,值得推荐。
号称比GSON快很多的json解析工具LoganSquare,有兴趣的可以看看。
图片缓存,解析,使用Glide即可。
Bus 我们选择otto,想了解更多,百度下即可。
缓存使用 ASimpleCache ,官网有详细教程。https://github.com/luxiaoming/ASimpleCache
更多精彩,敬请期待。

版权声明:本文为代码GG原创,转发请保留此信息,加入微信代码GG之家,获取更多文章内容,联系代码GG Q 332324956

【Java安全技术探索之路系列:Java可扩展安全架构】之四:JCA(三):JCA编程模型

作者:郭嘉 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWel...

【Java安全技术探索之路系列:Java可扩展安全架构】之十六:JAAS(三):JAAS编程模型

作者:郭嘉 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWel...

【Java安全技术探索之路系列:Java可扩展安全架构】之二十二:SASL(三):SASL编程模型.md

作者:郭嘉 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWel...

【Java安全技术探索之路系列:Java可扩展安全架构】之十三:JSSE(三):JSSE编程模型

作者:郭嘉 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWel...

【Java安全技术探索之路系列:Java可扩展安全架构】之七:JCE(三):JCE编程模型

作者:郭嘉 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWel...

【Java安全技术探索之路系列:Java可扩展安全架构】之十九:JGSS(三):JGSS编程模型.md

作者:郭嘉 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWel...

架构师之路:组织机构管理和权限设计模型(Shiro实现)

/** * 查询要禁用的用户是否在线。 * @param id 用户ID * @param status 用户状态 */ public void forbidUserById(Long id...

【Spark亚太研究院系列丛书】Spark实战高手之路-第3章Spark架构设计与编程模型第1节:为什么Spark是大数据必然的现在和未来?(2)

三、你为什么需要Spark; 你需要Spark的十大理由: 1,Spark是可以革命Hadoop的目前唯一替代者,能够做Hadoop做的一切事情,同时速度比Hadoop快了100倍以上: ...

【Spark亚太研究院系列丛书】Spark实战高手之路-第3章Spark架构设计与编程模型第1节:为什么Spark是大数据必然的现在和未来?(1)

一、MapReduce已死,Spark称霸  由于Hadoop的MapReduce高延迟的死穴,导致Hadoop无力处理很多对时间有要求的场景,人们对其批评越来越多,Hadoop无力改变现在而导致正...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:封装之路(三)架构模型
举报原因:
原因补充:

(最多只允许输入30个字)