译者:kefate原文:https://github.com/google/gui...大家好,我是kefate。从今天开始,我会陆续翻译GoogleGuice的官方文档。水平有限。如有翻译不当之处,欢迎指出。OK,废话不多说,开始今天的正文~Guice是一个轻量级的基于Java的依赖注入框架。使用依赖注入有很多好处,但手动执行它通常会导致编写大量样板代码。为了解决这个问题,Guice框架应运而生。它允许您在不编写大量样板代码的情况下使用依赖注入,这将在下一节中进一步解释。简单来说,Guice减少了对对象工厂的需求,同时减少了代码中new的使用。我们可以将Guice的@Inject视为新的new。在某些情况下,您仍然需要编写工厂模式代码,但您的代码不会直接依赖于它们。代码将更容易在其他上下文中修改、单元测试和重用。Guice支持Java的类型安全特性,尤其是涉及到Java5中引入的特性时,例如泛型和注释。您可以将Guice视为核心Java中缺失功能的补充。理想情况下,该语言本身会提供大部分相同的功能,但在这种语言存在之前,我们可以使用Guice。Guice可以帮助您设计更好的API,而GuiceAPI本身就是一个很好的例子。Guice的设计理念是Guice不是厨房水槽,我们至少使用三个用例来证明每个功能的合理性。如果我们不确定某个函数,我们就不管它。我们还提供允许您扩展Guice的通用功能,而不是向Guice的核心框架添加功能。Guice的目标是使开发和调试更容易和更快,而不是更难和更慢。本着这个目的,Guice避免使用一些难以理解的“黑科技”(Guicesteresclearofsurprisingandmagic)。无论是否使用工具,您都应该能够理解代码,尽管工具可以使事情变得更容易。发生错误时,Guice会更加努力地生成有用的信息。
