我是 GWT 的新手,但我对依赖注入并不陌生。
我正在寻找 DI via Gin 和 GWT Deferred Binding 之间的一些具体区别。过去我使用 DI 通过注入依赖项来解耦我的应用程序,似乎延迟绑定也这样做了,只是以更明确的方式,并且更适合浏览器兼容性。
主要区别是什么,我是否需要选择其中一个,或者它们是互补的。
我们正在构建一个新的应用程序,我们希望这个基础是坚实的。
我是 GWT 的新手,但我对依赖注入并不陌生。
我正在寻找 DI via Gin 和 GWT Deferred Binding 之间的一些具体区别。过去我使用 DI 通过注入依赖项来解耦我的应用程序,似乎延迟绑定也这样做了,只是以更明确的方式,并且更适合浏览器兼容性。
主要区别是什么,我是否需要选择其中一个,或者它们是互补的。
我们正在构建一个新的应用程序,我们希望这个基础是坚实的。
Gin 使用延迟绑定以配置应用程序的方式创建所有实例。所以你可以使用延迟绑定来完成这项工作。
但是:使用 Gin,您可以配置实例是单例还是原型。如果您想使用延迟绑定来执行此操作,则必须编写更多代码。
DI Annotation 更为人所知,每个了解 DI 的人都知道@Inject。这使代码更具可读性。
Deferred Binding 仅在 GWT 中有效,如果您使用 Deferred Binding 连接您的对象,您将无法在 jvm 中直接快速运行单元测试。如果您使用 Gin,您可以使用 Guice 或手动连接您的对象,以便在 jvm 中测试您的代码。
我认为,这些是杜松子酒的主要优点。