我是GWT的新手,但我不熟悉依赖注入。
我正在寻找DI通过Gin和GWT Deferred Binding之间的一些具体差异。我过去曾使用DI通过注入依赖关系来解析我的应用程序,而且Deferred Binding似乎也以更明确的方式执行此操作,并且更倾向于浏览器兼容性。
有哪些主要区别,我需要选择其中一种,还是免费赠送。
我们正在构建一个新的应用程序,我们希望这个基础是可靠的。
答案 0 :(得分:4)
Gin使用Deferred Binding以配置应用程序的方式创建所有实例。因此,您可以使用延迟绑定来完成工作。
但: 使用Gin,您可以配置实例应该是单例还是原型。如果你想用Deferred Binding做这个,你必须编写更多的代码。
DI Annotation更为人所知,每个知道DI的人都知道@Inject。这使代码更易读。
延迟绑定仅适用于GWT,如果使用延迟绑定来连接对象,则在jvm中直接和快速运行单元测试时会遇到问题。 如果您使用Gin,您可以使用Guice或手动连接对象,以便在jvm中测试您的代码。
我认为,这些是杜松子酒的主要优点。