一. 业务视图模块
二. 数据边界
三. 引入RxJava
RxJava以期以下收益
1.Observable实现了回调方式的归一化。
2.Operator 让回调的传递和处理灵活而富有组合性。
3.线程调度非常方便。
四. 数据源和数据隧道
五. 数据源的分层和组合
六. 通用功能的聚合
七. 锚点系统
八. 网络概念层
九. 功能服务
1.在功能被触发时,其所在的 Activity/Fragment就是锚点系统维护的前台PageView,那么功能性模块所需要的基点通过查询锚点系统即可轻松获得。
2.功能模块的创建和维护封装在功能服务内部,功能模块的创建则基于这样的现状,一个功能即使在一个页面模块(Activity/Fragment)上有多个触发点,功能模块实例也只是需要一个,功能模块和页面是一对一。
十. 全局网络响应处理机制
全局网络响应机制的其实是网络层Interceptor中的一个Processor,在这里专门列出来是因为它是框架之间良性协作的成果,两套单独的机制基于不同的目的被开发车来的,两两之间产生规模化效应,衍生出新的机制或者演化方向。
十一. 项目总结
对于大中型项目,短时间内不太可能建立起对项目需求和现行逻辑的大局观,并且在重构的同时还要保证项目的及时发布,想想那个经典的比喻,为一辆高速奔驰的汽车换轮胎,那么从次级业务模块进行改进和重构是一条稳妥之路,在重构的同时一点一点的丰富细节认识和整体布局,最终倒逼整体架构的变革。