Ott*_*tto 23 android guice roboguice
我在一个非常复杂且具有很多业务逻辑的android项目中使用guice进行辩论.Guice似乎很合适,但每当我开始深入阅读它时,它开始看起来比它需要的更复杂.
我不明白的一件事是:如果Guice是如此伟大并且是编写java代码的最佳方式,那么为什么使用Guice的Android代码如此之少......为什么Google没有在内部使用guice来安装Android?
Man*_*ser 27
Guice完全有意义使用,实际上用于一大堆应用程序.扩展RoboGuice为Android增加了一些细节,使其使用起来非常高效.
事实上,我无法想象没有它就能编写Android应用程序.太痛苦了.
在网站上查看使用Roboguice的应用程序链接(例如Google Docs,OpenTable ......).另外,像Square应用程序这样的其他应用程序也可以直接使用Guice.
这完全有道理..去做吧!
与Robolectric一起,它还可以使您的测试工作更轻松.
PS:我是RoboGuice的提交者所以我偏爱;-)
PPS - 2013年6月:最近的发展引发了其他基于注释/依赖注入的框架,这些框架在构建时完成大部分工作,因此避免了运行时反射的性能损失(在Android上很慢),因此更适合于性能关键工作 - 如果您对此感兴趣,请查看Dagger和AndroidAnnotations.
bry*_*ryn 24
实际上,由于内存开销,谷歌不鼓励在Android应用程序中使用Guice或RoboGuice.
资源:
http://developer.android.com/training/articles/memory.html#DependencyInjection
5.11.2014编辑:
有一个专门的Android快速依赖注入库.我可以看到越来越多的人使用它:
http://square.github.io/dagger/
13.04.2015编辑: Google发布了自己的dagger版本,它在运行时不使用反射:http: //google.github.io/dagger/
kgi*_*kis 12
演示依赖注入框架的优势的问题在于,使用简单的Hello World应用程序无法实现它.这些框架仅在具有大量复杂性的大型系统中显示其价值.此外,他们有一个陡峭的学习曲线.
因此,你找不到足够的教程 - 使用Guice的开源项目是很正常的.这将最常用于未发布的企业应用程序.
谷歌为什么不使用Guice,Guice并不适合所有地方.它增加了性能开销,在不需要它的地方使用它是没有意义的.
| 归档时间: |
|
| 查看次数: |
11185 次 |
| 最近记录: |