Closed NerdAnonymous closed 5 years ago
可以,被多个业务组件高度依赖的业务逻辑,可以作为核心基础业务单独抽出来维护,提供给其他业务 module 使用
@JessYanCoding 那实际上相当于这个核心基础业务被所有其他module依赖么,也包括宿主
并不一定必须是所有 module 都必须依赖的 module,才能是 核心基础业务,只要是给其他 Module 提供服务的业务,便于单独维护都可以作为 核心基础业务,其他 module 要使用就按需依赖,只有 basemodule 才被所有 module 依赖
@JessYanCoding 大佬,我现在有这么个需求,我本地需要自己实现一个单例的Component,以前项目简单放在自己的Application去build,但是现在用的是这个组件化。有个问题,就是我组件在单独运行时,组件本身所需要的单例Component在哪里又如何去初始化,请教我
比方说我在attachBaseContext中 CoreSingletonComponent coreSingletonComponent = DaggerCoreSingletonComponent.builder() .application(app).build(); 这个时候,我是不得把这个coreSingletonComponent设置成一个AppLifecyclesImpl的静态变态才能方便获取
我的意思是总感觉在AppLifecyclesImpl存个静态常量没有去获取component没有 ArmsUtils.obtainAppComponentFromContext来的好,哈哈
那你需要自己在 base 库里,创建一个类似 AppComponent 的 基础 Component,这个 基础 Component 依赖 AppComponent,以及你自己的 module 和 component,你在 base 库里初始化后,使用一个类似 ArmsUtils.obtainAppComponentFromContext 的方法将 基础 Component 提供出来,也就是仿造我的方式创建一个在 AppComponent 之上的 基础 Component
当module依赖于宿主或者独立运行的时候,都需要进入启动业务和登录业务,那么这个我把这两个业务归类为核心基础业务,可否?