GWT延迟绑定是否在单个EntryPoint的范围内返回相同类型的单例?

Jon*_*han 3 gwt

假设我有许多用作库的GWT模块,以及一个具有继承所有库模块的入口点的模块.

每个子模块都需要访问单个实例SomeClass.

如果我GWT.create(SomeClass.class)在模块A和B中调用,我是否会获得相同的实例?如果是这样,这有保证吗?

Col*_*rth 5

编号GWT.create(SomeClass.class)new SomeClass(),除非存在某种类型的重新绑定规则 - replace-with否则generate-with规则会导致调用这些规则选择的任何类型的默认构造函数.

这意味着这GWT.create不是提供对单例实例的访问的合适方式.相反,通过总是传递相同的实例来考虑一些像Din的DI工具或手动DI.也可以使用static关键字来保持单个实例,其中编译到同一个应用程序中的所有代码都可以引用它.