Android开发框架大全- http://www.ctolib.com/topics-113373.html?ref=myread
平安好医生技术栈的分析(APP架构)- http://blog.csdn.net/caroline_wendy/article/details/51426837
基于RxJava+Retrofit精心打造的Android基础框架(源码)-http://download.csdn.net/detail/xiaoyaoyou1212/9755991
好客户端是怎样炼成的- http://blog.csdn.net/a345017062/article/details/45538187
程序的功能才是我做的所有工作中用户真正想要和关心的。架构能够满足应用的需要即可。
> 模块化开发
有赞 App 模块化实战经验总结- https://youzanmobile.github.io/2017/04/14/youzan-app-modularization/
Android 开发:由模块化到组件化(一)- http://blog.csdn.net/dd864140130/article/details/53645290
在Android Studio分为了相应的四个模块(Module):model、api、core、app。
model为模型层,api为接口层,core为核心层,app为界面层。
将项目分为了四个层级:模型层、接口层、核心层、界面层。模型层定义了所有的模型;接口层封装了服务器提供的API;核心层处理所有业务逻辑;界面层就处理界面的展示。
模块化就是将一个程序按照其功能做拆分,分成相互独立的模块,以便于每个模块只包含与其功能相关的内容。模块我们相对熟悉,比如登录功能可以是一个模块,搜索功能可以是一个模块,汽车的发送机也可是一个模块.
模块化开发,模块化开发中最大的问题就是组件间通讯-->路由的概念,把项目模块化了, 那两个组件间进行通讯或者跳转, 我们一般构建Intent的方式就不再使用了
路由的方案:
1.完全自己实现路由, 完全封装跳转参数
2.利用隐式意图跳转(Android原生支持,仅支持Activity, Service, BroadcastReceiver)
go web开发之url路由设计- http://blog.csdn.net/qibin0506/article/details/52614290
Android路由实现- http://blog.csdn.net/qibin0506/article/details/53373412
App模块化分为5层模型:
(1)应用层是生成app和初始化操作的加载
(2)模块层,每个模块相当于一个业务,通过module来分隔开每个业务的逻辑。
(3)基础层,基础组件的整合,提供基础组件能力给业务层使用。
(4)组件层,通过图片加载,网络http,socket等基础功能划分为一层。
(5)基础库层,更加基础的库类依赖,此层非必须,例如(Rxjava,EventBus等一些代码结构优化的库),还有自己编写的封装类。
插件化,研发阶段考虑的问题
(1)资源冗余解决,包括对于base module的依赖和库依赖
(2)混淆相关和资源冲突
(3)插件加载方式
(4)通信依赖,数据交互,事件触发
模块之间总是存在这一定的接口,从调用方式上看,可以分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,也是我们在写程序中经常使用的;回调是一种双向的调用模式,也就是说,被调用的接口被调用时也会调用对方的接口,这句话可能有点绕,等文章后面举例说明;异步调用是一种类似消息或事件的机制,解决了同步阻塞的问题。
> 重构围绕一个老生常谈的概念「解耦」展开,设定几个目标:
1.清晰划分各模块的角色
2.明确架构层级及各个模块所在的层级
3.提高整个架构横向扩展的能力
4.提高编译效率,由于我们项目大量使用 Kotlin 开发和 AOP 技术,在编译上面个比较耗时,期望在架构调整后,在整个项目的编译效率上又一次大的提升
5.各模块独立开发,面向接口和协议编程
6.提高可维护性
充分考虑可拓展性和可维护性,把模块化、性能优化、用户体验等
关于App重构的几个方面- http://www.jianshu.com/p/1125f4be4cc3
Android重构记录及其模块化- http://blog.csdn.net/jonstank2013/article/details/56833462
> App架构设计
App架构设计经验谈:接口的设计 - http://keeganlee.me/post/architecture/20160107App架构设计经验谈:展示层的设计 - http://keeganlee.me/post/architecture/20160222
Android中级第十二讲浅谈架构设计- http://blog.csdn.net/reboot123/article/details/51321248
内容型App的客户端架构之道- http://www.infoq.com/cn/presentations/content-type-app-client-architecture
> 网络请求框架
各种Android网络请求框架、工具类- http://www.ctolib.com/topics-113377.html?ref=myread
网络框架AndNet- https://github.com/qibin0506/AndNet
Okhttp