0

私の文脈では:

var parserManager:ParserManager = injector.instantiate(ParserManager);
parserManager.injector = injector;
injector.mapValue(ParserManager, parserManager);

私のparserManager(他のクラスを拡張しません)クラス:

public var injector:IInjector;

一部のモデルでは parserManager がインジェクトされます。それを行うより良い方法はありますか?これはとても汚い..

4

1 に答える 1

0
injector.mapSingleton(ParserManager);
var parserManager:Parser = injector.getInstance(ParserManager);

ParserManagerで:

[Inject]
public var injector:IInjector

名前にManagerが含まれるクラスにインジェクターを注入するのは少し疑わしいですが、それは私が考えられる最もクリーンな方法です。

マネージャーがマップされた後、すぐに必要ない場合は、最初に作成されたときにインジェクターが注入されることを覚えておく必要があります(それを使用する別のクラスに注入されます)。Robotlegsはインスタンスを怠惰に作成します。

于 2010-11-21T00:40:05.487 に答える