安卓DI框架

Dagger、RoboGuice和ButterKnife

Dagger

在他的关于DI新系列的第一部分中, Antonio Leiva称赞了一个叫做Dagger的框架。在开始的时候他总体概述了一下DI-它是什么,解决了哪方面的问题,人们获得了什么好处-并提供了一个研究依赖注入的简单方式。

我们可以把它当做应用中的一个模块, 负责为其它模块提供实例并且注入依赖关系。那是它的基本职责。模块的创建位于我们应用中的一个点上,这样我们可以拥有完全的控制权。

Dagger Leiva说,特别适合用在低端设备上,因为它没有采取反射而使用了预编译技术,因为基于反射的DI非常占用资源和耗时。Dagger或许不是最理想的依赖注入框架,但Leiva认为,它是最高效的。

RoboGuice

Paresh Mayani在文章做一个懒惰但高效的Android开发者中,深入的讲解了Android DI框架-Dagger,还有ButterKnife和Android Annotation (AA) -但只充分探讨了基于Google Guice类库的RoboGuice,Mayani提供了大量RoboGuice的快速和实用资源,包括:

注解使用的演示
安装提示
完整的Activity示例
使用技巧
RoboGuice的优点
与ActionBarSherlock整合
总体而言,Mayani认为RoboGuice节约了大量的时间。较少的代码意味着较少的错误,较少的样板代码意味着可以把更多的时间放到应用的核心逻辑上。

ButterKnife

显然,Jake Wharton喜欢ButterKnife。但是对于外界的意见,Harsha Vardhan 将ButterKnife和RoboGuice进行了比较。Vardhan提供了一个有用的表格来比较各自的特点,例如:

所需的最少jar包
与ActionBarSherlock的兼容性
单击监听器的注入
POJO注入
性能
Vardhan不赞成固定的使用一种或者另一种方案,相反,他建议要仔细考虑每一个项目的具体需求。

猜你喜欢

转载自denyx123.iteye.com/blog/2245464
今日推荐