3

ライブラリとして使用されるいくつかの GWT モジュールと、すべてのライブラリ モジュールを継承するエントリ ポイントを持つ 1 つのモジュールがあるとします。

各サブモジュールは、 の 1 つのインスタンスにアクセスする必要がありますSomeClass

モジュール A と Bを呼び出すとGWT.create(SomeClass.class)、同じインスタンスが取得されますか? もしそうなら、これは保証されていますか?

4

1 に答える 1

5

いいえ。何らかの再バインド規則がない限り、にGWT.create(SomeClass.class)コンパイルされます。または規則によって、代わりに、これらの規則によって選択された型のデフォルト コンストラクターが呼び出されます。new SomeClass()replace-withgenerate-with

これはGWT.create、シングルトン インスタンスへのアクセスを提供する適切な方法ではないことを意味します。代わりに、Gin のような DI ツールや、常に同じインスタンスを渡す手動 DI を検討してください。キーワードを使用しstaticて、同じアプリにコンパイルされたすべてのコードが参照できる単一のインスタンスを保持することもできます。

于 2012-09-14T03:10:12.503 に答える