3

我是 GWT 的新手,但我对依赖注入并不陌生。

我正在寻找 DI via Gin 和 GWT Deferred Binding 之间的一些具体区别。过去我使用 DI 通过注入依赖项来解耦我的应用程序,似乎延迟绑定也这样做了,只是以更明确的方式,并且更适合浏览器兼容性。

主要区别是什么,我是否需要选择其中一个,或者它们是互补的。

我们正在构建一个新的应用程序,我们希望这个基础是坚实的。

4

1 回答 1

4

Gin 使用延迟绑定以配置应用程序的方式创建所有实例。所以你可以使用延迟绑定来完成这项工作。

但是:使用 Gin,您可以配置实例是单例还是原型。如果您想使用延迟绑定来执行此操作,则必须编写更多代码。

DI Annotation 更为人所知,每个了解 DI 的人都知道@Inject。这使代码更具可读性。

Deferred Binding 仅在 GWT 中有效,如果您使用 Deferred Binding 连接您的对象,您将无法在 jvm 中直接快速运行单元测试。如果您使用 Gin,您可以使用 Guice 或手动连接您的对象,以便在 jvm 中测试您的代码。

我认为,这些是杜松子酒的主要优点。

于 2011-06-30T16:04:42.067 回答