Closed fine1021 closed 5 years ago
好的,非常感谢,这里的扩展性确实提升不少,感谢你对开源的贡献
还有一点可以优化的,这个代理如果可以通过 GlobalConfigModule 使用 Dagger 注入到 RepositoryManager,这样也就可以让开发者可以在 GlobalConfiguration 中进行统一的管理
还有一点可以优化的,这个代理如果可以通过 GlobalConfigModule 使用 Dagger 注入到 RepositoryManager,这样也就可以让开发者可以在 GlobalConfiguration 中进行统一的管理
个人的建议此处暂时不需要Dagger Inject,配置的位置可以规范到 GlobalConfigModule -->injectAppLifecycle函数中,添加一个AppLifecycles的接口实现类,在这个实现类里面onCreate函数里全局配置 因为我看了你的源码,是在BaseApplication的onCreate函数里进行委托回调App生命周期接口的,同时也是在此处初始化AppComponent的全局接口,而配置Retrofit代理这个正好是需要 从AppComponent获取repositoryManager(),所以我觉得在此处配置时机正好
主要修改为在IRepositoryManager接口中增加一套委托机制,说明如下 1,如果不使用这套委托机制创建RetrofitService,不会影响框架原有的功能 2,开放RetrofitService的委托创建,方便开发者参考二次委托代理的方法,在某些请求接口执行前自行处理一些事情,增加框架的灵活度 3,可以遇到的应用场景,即在每次调用网络请求接口时,使用RetrofitUrlManager设置baseUrl,防止程序中的一些崩溃,导致RetrofitUrlManager中存储的domain信息丢失