我最近在大学课程中学习过Guice,并且看过Google I/O video about it。在视频中,他们声称在每个Google项目中使用它,包括Wave等。我在想 - Guice真的无处不在吗?它对Java中的程序员来说真的是必须知道必须使用的吗?我应该经常在工厂使用吗?
由于
答案 0 :(得分:5)
Guice是一个依赖注入框架。使用Java时,您一定要考虑依赖注入框架(DI)。 DI可以为(网络)安全/身份验证,事务管理,日志记录,数据库访问和更清晰的代码节省大量的锅炉板代码。
或者你可以考虑一下Spring。 Guice是,或者至少更容易使用,因为它不那么依赖XML,但Spring已经赶上了最新版本(使用注释,javaconfig等)。
嗯,无论哪种方式,使用DI框架,而不是你自己的工厂代码,事务样板代码(transaction.start。提交,最后......等),单例(如静态getInstance方法)等。
答案 1 :(得分:4)
Guice真的无处不在吗?它对Java中的程序员来说真的是必须知道的吗?
Google之外 - 不,不是真的。我不是说它不是一个好产品,它现在似乎没有被广泛使用。还有其他更成熟的框架提供依赖注入,如Spring或EJB。主要区别在于Guice 仅执行依赖注入。
我应该经常在工厂使用吗?
当然不是。依赖注入是一种有用的模式,但与所有有用的工具一样,使用它有正确的时间和错误的时间。