Dagger2新手入门与使用基础教程新手入门与使用基础教程
前言前言
前段时间,公司项目使用到了Dagger2,之前自己倒是听说过Dagger2,但是一直没有去使用,主要是因为入门难度相对于
Rxjava,Retrofit要高不少,个人觉得这个难度并不是指的使用难度,而是一个理解难度。很多人就是代码照搬,写一个
Component,一个Module就说自己会用Dagger2了,很可能你都不知道为什么你要去写这些。那么本篇文章将告诉
你,Dagger2既然增加了代码量,那么,我们为什么还要去使用它。
什么是什么是Dagger2
Dagger2是Dagger的升级版,是Android目前最好用的依赖注入框架,在编译期间自动生成代码,负责依赖对象的创建。第一
代由Square公司共享出来,第二代则是由谷歌接手后推出的。
为什么我要使用为什么我要使用Dagger2
我们使用Dagger2的主要目的是降低类与类之间的耦合度,举个例子。
这里有一个Person类,我们在这个类里面,想使用RichPerson类中的方法,那么我们就需要在Person类中拿到RichPerson的
实例,也就是说Person和RichPerson耦合到一起了,违背了单一职责。如果还有很多类都要使用RichPerson类中的方法,那
么就会有很多类跟RichPerson这个类耦合起来,一旦RichPerson构造方法变了,比如需要传入一个id才能使用,那么所有使
用RichPerson的类都需要改,这个工作量可不小,而且这样也违背了开闭原则。
这个时候如果我们使用Dagger2,我们就可以在Person类中通过@Inject的方式拿到RichPerson实例而不需要在Person中去
new RichPerson
使用使用(基于基于Kotlin)
在项目的build.gradle中,添加
apply plugin: 'kotlin-kapt'
dependencies {
kapt 'com.google.dagger:dagger-compiler:2.14.1'
implementation 'com.google.dagger:dagger:2.14.1'
}
评论0
最新资源