DAGGER2 学习总结

前言

Dagger解决android中的依赖注入问题,即实现控制反转(IoC)技术,Ioc的主要目的是一个类应该从外部获取自身的依赖。
Dagger1 含2个缺点:1,因为反射,使得自己变慢;2,使用运行时依赖解决方案,会导致异常崩溃。
依赖注入的优点:提高类的重用性和能够独立于其他类来测试他们。

注入模式:

1.构造器注入:注入方法参数。
2.字段注入:注入成员变量。
3.方法注入:注入方法参数。

依赖注入顺序:

1.构造器
2.字段
3.方法

Dagger2 的结构:

依赖端通过连接器从依赖提供者请求依赖对象。

  1. 依赖提供者:使用原语@Module声明的类,此类的方法用原语@Provides来定义
  2. 依赖客户端:用原语@Inject来表示一个依赖。
  3. 客户端与生产器之间的连接器:原语@Component定义,此类是Dagger生成的连接器。
Dagger2的不足:
  1. 不能自动注入字段
  2. 不能注入私有字段
  3. 如果要使用字段注入,必须在连接器中定义方法

本文翻译至Introduction to Dagger 2, Using Dependency Injection in Android: Part 1,翻译有误,还请看原文。

Dagger 2 uses the following annotations

  • Provider:- classes with annotated with @Module is responsible for providing an object which can be injected.
    带 @Module注解的类负责提供可注入对象。
  • Consumer:- The @Inject annotation is used to defining a dependency.
    带 @Inject注解是用来定义依赖
  • Connector:- A @Component annotated interface defines the connection between the provider and consumer.
    @Component注解接口定义供给端与消费端的的关联。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值