封装之路(三)架构模型

原创 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可扩展安全架构】之二十二:SASL(三):SASL编程模型.md

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

【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可扩展安全架构】之十三:JSSE(三):JSSE编程模型

作者:郭嘉 邮箱: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...

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

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

取经之路------浅谈C/S与B/S架构模型

C/S架构:即客户机和服务器结构。是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统。客户端需要安装专用的客户端软件。 B/S架构:即浏览器和服务器结...

(大架构师之路)-微信多图片上传组件代码封装

hi,大家好!今天为大家带来的是微信多图片上传组件封装的讲解。最近在做微信方面的开发研究,此研究背景是: (1):项目之前一直使用单图片上传,而传统的表单多图片上传在安卓端(安卓系统目前不支持)无法实...

架构之路(三):单元测试

原文地址:http://www.csdn.net/article/1970-01-01/2825774 本文作者自由飞是一个奇人, 彻彻底底的非科班程序员:98年读大学-国际贸易专业、03年11月英...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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