Dagger 就是现在一个比较火的依赖注入器框架。它使用的预编译期间生成代码完成依赖,而不是用的反射。这一点很重要,正因为这点它并不会造成运行时效率低下,只是增加了一点编译的负担。
Dagger 用法非常灵活,有太多的注解需要学习。但是Inject,Component,Module,Provides是dagger中的最基础最核心的知识点。奠定了dagger2的整个依赖注入框架。所以学习Dagger时,这几个概念是必须要掌握的。
学习Dagger有一个小窍门,可以把它想成了一个注射器,component是针管,module是注射瓶,里面的依赖对象是注入的药水,build方法是插进患者,inject方法的调用是推动活塞。这样形象的理解还是很容易理解的
现在越来越多的公司采用Dagger + RxJava + MVP + Retrofit的架构来重构代码。按照学习难度来比较的话Dagger的学习难度是高于RxJava和MVP的。因此在考虑项目是否需要使用Dagger的时候一定要考虑学习成本。
下面的地址是Google官方的MVP+Dagger的demo,闲暇之余可以研究一下,其中todo-mvp可以直接拿来当做新开项目的基础架构,然后在其基础上添加RxJava和Dagger就可以了,减少了很多体力劳动
https://github.com/googlesamples/android-architecture
作者:zxm317122667 发表于2017/9/8 10:18:22 原文链接
阅读:40 评论:0 查看评论