相关系列文章前端
模块化解耦框架RxFluxArchitecture1-框架简介android
模块化解耦框架RxFluxArchitecture2-基本功能实现git
模块化解耦框架RxFluxArchitecture3-订阅管理绑定生命周期github
模块化解耦框架RxFluxArchitecture4-依赖库与依赖注入架构
模块化解耦框架RxFluxArchitecture5-Application多模块共存并发
架构分为三个层级 View,ActionCreator,Store。框架
UI 界面,根据用户交互调用 ActionCreator 方法,响应 ActionCreator 或 Store 发送的通知,完成 UI 更新。模块化
完成用户交互操做(接口调用、耗时操做、页面跳转通知等),通知 Store 或 View。post
RxAction
到 Store;RxChange
到 View;RxError
到 View;RxRetry
到 View;RxLoading
到 View。维护 View 中须要的数据,接收操做结果通知RxAction
,提取其中封装的数据供 View 使用,处理不一样的业务逻辑。单元测试
RxChange
到 View,进行 UI 更新;LiveData
使 View 进行 UI 更新。使用 FaceBook 推出的前端架构 Flux,数据朝单一方向流动,无操做方法回调,上下层级关系明显,逻辑清晰。
核心库core-eventbus
(带有 Tag 功能)实现数据总线功能,架构中上一层级不持有下一层级对象,本层级只需完成操做并发送通知,不须要知道下一层级谁来响应通知。
androidx.lifecycle.LiveData<T>
实现 MVVM 架构,通知 View 进行 UI 更新。androidx.lifecycle.ViewModel
,在 View 横竖屏切换时维持数据。androidx.lifecycle.LifecycleObserver
,自动关联 View 生命周期。核心库core-arch
中使用 Dagger.Android 实现依赖注入,业务模块仅需建立@Module
标注的依赖注入对象生成库, 无需知道如何实现依赖注入。
核心库core-arch-annotations
和core-arch
经过注解编译时生成代码和反射实现多个业务模块共存 Application 生命周期方法代理类。
开源模块化解耦框架RxFluxArchitecture,欢迎你们点赞Fork,更欢迎点评指导。