我经常读到关于依赖注入的文章,我在google上做过研究,我在理论上了解它能做什么以及它是如何工作的,但我希望看到使用它的实际代码库(Java/guice会更好)。
谁能给我介绍一个开源项目,在那里我可以看到,它是如何真正被使用的?我认为浏览代码并看到整个设置向我展示的不仅仅是您在web上找到的介绍文章中使用的代码片段。提前感谢!
发布于 2009-01-18 14:08:42
我知道你在Java领域,但在.NET领域,有几个开源应用程序是使用控制反转容器编写的。查看CodeCampServer,其中的UI模块没有对依赖项解析模块的引用。有一个HttpModule可以完成这项工作。( HttpModule只是一个外部库,您可以插入它来处理ASP.NET中的事件,在CodeCampServer中,UI项目在运行时加载此DependencyRegistrarModule,而不需要对它进行任何编译时引用。)
发布于 2009-08-22 01:23:51
Wave Protocol Server是我最喜欢的示例应用程序。
发布于 2009-01-16 03:33:58
我在这个问题上有点纠结。它是如此抽象和简单,我总是担心我“做错了”。
我一直在主项目中使用它,它依赖于其他项目,因为设置绑定的Guice模块是主项目的一部分。
我终于意识到这些库应该自己提供模块。在这一点上,您只能依赖模块的实例(不是特定的实例)以及它绑定的接口。
更进一步,您可以使用Java6中的新ServiceLoader机制自动定位和安装类路径上可用的所有Guice模块。然后,您可以通过更改类路径(db-real.jar与db-mock.jar)来交换依赖项。
https://stackoverflow.com/questions/448471
复制相似问题