代码之家  ›  专栏  ›  技术社区  ›  André

使用依赖注入w/guice浏览源代码的项目?

  •  3
  • André  · 技术社区  · 17 年前

    我经常读到关于依赖注入的文章,我对google做过研究,我从理论上理解它能做什么以及它是如何工作的,但我希望看到一个实际的代码库使用它(最好是Java/guice)。

    有谁能告诉我一个开源项目,在那里我可以看到它是如何被真正使用的?我认为浏览代码并查看整个设置比您在web上找到的介绍文章中常见的片段更能说明问题。提前谢谢!

    4 回复  |  直到 16 年前
        1
  •  6
  •   Jesse Wilson    16 年前

    这个 Wave Protocol Server 是我最喜欢的示例应用程序。

        2
  •  3
  •   itsadok    17 年前

    我一直在主项目中使用它,它依赖于其他项目,因为设置绑定的Guice模块是主项目的一部分。

    我最终意识到库应该自己提供模块。此时,您只能依赖于模块的实例(而不是特定的实例)以及由其绑定的接口。

    ServiceLoader Java6中自动定位和安装类路径上可用的所有GUI模块的机制。然后,您可以通过更改类路径(db-real.jar与db-mock.jar)来交换依赖项。

        3
  •  1
  •   Matt Hinze    17 年前

    我知道您在Java领域,但在.NET领域,有几个开源应用程序是使用反转控制容器编写的。退房 CodeCampServer ,其中UI模块没有对依赖项解析模块的引用。有一个HttpModule完成这项工作。(HttpModule只是一个可以插入的外部库,用于处理ASP.NET中的事件,在codecamp服务器中,UI项目在运行时加载此DependencyRegistrarModule,而无需对其进行任何编译时引用。)

        4
  •  -1
  •   Simon Groenewolt    17 年前

    我认为依赖注入有一种从视图中消失的方式,如果使用得当,它将只是一种初始化/连接应用程序的方式——如果它看起来比你可能看到的更奇特,那么你可能看到的是手边框架的额外特性,而不是赤裸裸的依赖注入。

    推荐文章