你还停留在使用Dagger2吗? 带你一步一步走进Dagger2的世界

Dagger2是一个依赖注入框架

1.什么是依赖注入?

就是目标类中所依赖的其他的类的初始化过程,不是通过手动编码的方式创建

将其他的类初始化好的实例自动注入到我们的目标类当中。它也是面向对象的一种设计模式,

主要作用就是降低我们程序的耦合。

讲述两个场景来描述一下Dagger2:

1.在一个对象里创建另一个对象的实例。这种行为就会产生耦合现象。导致代码难以维护。

2.Picasso / Glide框架处理图片,

如果我们的项目起初使用picasso图片框架,当运营人员更换一个素材是picasso满足不了的,需要通过Glide图片框架进行解决。这个时候需要Dagger2,

 

2.四种注入方式。

1.通过接口注入:

首先我们定义一个接口ClassBInterface,在接口当中我们定义一个setB方法,在方法中我们传入ClassBInterface这个参数

创建一个ClassAInterface类实现ClassBInterface这个接口,

在这个ClassAInterface这个类中定义一个ClassBInterface这个成员变量,然后复写SetB这个方法。

最后我们通过这个SetB方法完成这个接口的注入。

2.通过set方法注入

set是我们依赖注入非常重要的方法,因为依赖注入的依赖都是从外部传递过来的,特别是在java平台上,我们通过反射和动态编译来提供依赖注入的,这个时候我们set方法就会经常用到,

在ClassAset类中定义一个ClassB的成员变量,通过setClassB方法完成注入,对他的成员变量赋值,

这样就更加剥离了我们部分代码的耦合性,

3.通过构造方法来注入(最常见的)

在ClassAConstuctor中定义ClassB成员变量,通过构造方法,对成员变量进行

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值