Mvp + Dagger2笔记。

普通注入流程:

一个主component(appCom)下关联多个module(actMo,FragMo…),
每个module对应多个子component(subComponent)。
如下图,ApplicationSub 关联了ActivityModule,FragmentModule,MainModule。在ActivityModule中关联了MainActicitySubMain2ActivitySub
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述


使用@ContributesAndroidInjector注解的gooogle版注入流程

这里写图片描述

这里写图片描述

这里写图片描述

忽略TaskRepository

使用ContributesAndroidInjector注入减少了一个注入器,如普通注入方式中,ActivityModule中的MainActivitySub

在google版本中推荐为每个安卓组件(如Activity)创建一个对应的Module,作为组件获取注入对象的统一出口,因此Module
可理解为一个对象工厂,为组件提供P层对象,或者其他所需对象。

注意:此Module不是Mvp当中的Model层对象,Mvp当中的Model提供业务处理,而工厂Module是为方便、统一管理组件注入的对象而存在。


如下两图中,举例注入P层对象:
图1:
BaseActivity不使用google推荐的方式,可以直接在组件当中直接注入P层对象。

这里写图片描述

图二:
使用了google的推荐方式,在TasksModule中注入了P层,以及其他对象,像这样在Module中将统一注入,方便管理

这里写图片描述

推荐Dagger2文章:

Dagger 2从浅到深

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值