|
|
1
6
这个 Wave Protocol Server 是我最喜欢的示例应用程序。 |
|
|
2
3
我一直在主项目中使用它,它依赖于其他项目,因为设置绑定的Guice模块是主项目的一部分。 我最终意识到库应该自己提供模块。此时,您只能依赖于模块的实例(而不是特定的实例)以及由其绑定的接口。 ServiceLoader Java6中自动定位和安装类路径上可用的所有GUI模块的机制。然后,您可以通过更改类路径(db-real.jar与db-mock.jar)来交换依赖项。 |
|
|
3
1
我知道您在Java领域,但在.NET领域,有几个开源应用程序是使用反转控制容器编写的。退房 CodeCampServer ,其中UI模块没有对依赖项解析模块的引用。有一个HttpModule完成这项工作。(HttpModule只是一个可以插入的外部库,用于处理ASP.NET中的事件,在codecamp服务器中,UI项目在运行时加载此DependencyRegistrarModule,而无需对其进行任何编译时引用。) |
|
|
4
-1
我认为依赖注入有一种从视图中消失的方式,如果使用得当,它将只是一种初始化/连接应用程序的方式——如果它看起来比你可能看到的更奇特,那么你可能看到的是手边框架的额外特性,而不是赤裸裸的依赖注入。
|