笔者将通过11篇博客对个人开源框架进行讲解,本篇为第11篇,进行总结。
开源库github地址 https://github.com//Android-Universial-NetFrame
如果有兴趣一起讨论本框架的内容,请加:
Android通用网络请求解析框架,Android-Universial-NetFrame,简称aun。
前面通过10篇博客对aun进行讲解,这里先放上目录
Android通用网络请求解析框架.1(需求,思想)
Android通用网络请求解析框架.2(构造框架)
Android通用网络请求解析框架.3(代码实现,公共部分)
Android通用网络请求解析框架.4(代码实现,分支部分)
Android通用网络请求解析框架.5(使用框架)
Android通用网络请求解析框架.6(自定义解析器)
Android通用网络请求解析框架.7(同步请求,公共部分)
Android通用网络请求解析框架.8(同步请求,分支部分)
Android通用网络请求解析框架.9(支持第三方解析框架)
Android通用网络请求解析框架.10(发现问题,改善)
笔者总结了日常Android开发中网络请求和解析方面代码实现的一些共性,实现了aun,
aun可以说是对众多开发者在这方面所开发代码的一次重构。
aun为业务型框架,跟工具型框架是不一样的。
工具型框架,通常不需要修改源码,直接根据某一特定需求来实现的代码。比如gson,okhttp。
业务型框架,是项目中一些模块的代码出现耦合,再针对耦合进行重构而实现的代码。aun正是如此。
有些大型业务型框架,是需要用大量的配置文件来实现的,因为修改代码太过于麻烦了,Android开发中这样的框架比较少,服务端开发中就比较多,比如JavaEE就有非常多这样的框架。
在笔者对aun进行宣传的时候,就有人说了:你是SB吗?你写网络请求解析框架有什么用,网络请求我用OkHttp框架,解析我用Gson框架,还用你这个框架干嘛,你写得肯定没他他们好,谁还会用你这个框架。
其实不然。
aun不与传统的工具型框架竞争,而是使用他们,代码可以相互融合。
对于网络请求,aun可以与其它框架融合,开发者可以修改少量代码,加入其它框架,比如okhttp。
对于解析,本框架已经使用上了gson和fastjson,并且拥有多种兼容方式,如果你有使用gson和fastjosn的习惯,使用本框架无需再改代码。
aun也可以跟其它工具型框架分开工作,可以没有代码交叉。
我想用几张图来表达aun的工作范围。
在没有使用aun的时候,开发者可能使用了其它工具型框架。当然也可能没有使用。
那么,在使用aun框架后,整个结构会是怎样的呢?来看下图
aun工作在业务层,把原来3个模块的业务变成了1个。
aun不涉及工具层那些框架的内容,不会去实现他们的功能,但aun会调用工具层框架。
也可以让aun跟工具型框架不交叉,来看下图
这个时候,aun还是把三个模块给简化成了1个,但不和其它工具型框架交叉。
如果要理解整个aun框架,必须有一定的Java基础,特别是在泛型,抽象类,接口,继承,这些方面要有一定基础。
笔者在这里推荐一本书《Java编程思想》第4版。
对于框架的讲解,这里应该也只是第一期。后期框架如果有大的修改,会再写博客进行讲解。
最后还是要提醒一下读者,可以根据博文开头中给出的github地址来下载源码,有兴趣的可以加交流。
开源不易,写博客更不易,希望大家尊重知识产权,祝大家可以写出越来越好的代码,更多好的开源框架。
谢谢