依赖注入框架Dagger2—1.入门

本文介绍了依赖注入的基本概念,如依赖、依赖注入及其重要性,并详细讲解了Dagger2这一依赖注入框架。Dagger2通过预编译生成代码提高性能,简化模块间的解耦,提供更好的调试体验。文章还展示了Dagger2的Hello World示例,帮助初学者理解其运作原理。使用Dagger2可以降低项目中类之间的耦合,提高代码的可维护性。
摘要由CSDN通过智能技术生成

1.依赖注入

1.1.什么是依赖?

如果在 Class A 中,有 Class B 的实例,则称 Class A 对 Class B 有一个依赖。
例如下面类 A 中用到一个 B 对象,我们就说类 A 对类 B 有一个依赖。
同时,这也是一个典型的"依赖非注入"案例。

public class A {
   
    ...
    B b;
    ...
    public A() {
   
        b = new B();
    }
}

1.2.什么是依赖注入?

依赖注入就是给一个对象传入一个实例变量。
比如:

public class A {
   
    ...
    B b;
    ...
    public A(B b) {
   
        this.b = b;
    }
}

这是一个通过构造函数传参进行注入,在A类里边不再有new B()的操作,所以A不再依赖B,还有通过方法进行注入,比如常见的setXXX(B b)。
这种就是最简单的依赖注入。
更详细请参考:http://blog.51cto.com/cnn237111/928690

1.3.为什么要用依赖注入?

项目中,经常需要在一个对象里去创建另一个对象的实例,这种行为是产生耦合的常见形式,对于一个大型项目来说,过多的相互依赖会导致代码难以维护,如何难以维护?比如A的构造内new了一个B,B的构造变了,那么我们就要去A的构造内修改构建B的代码,这样,地方一多,工作量就会很大。
我们可以通过上面的方式进行依赖注入,但是难免显得简陋,那么在这里可以引出本文要学习的主题—Dagger。

2.Dagger

2.1.什么是Dagger?

在了解了依赖注入之后,再来看Dagger,它

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值