SwiftSuspenders/Robotlegsを使用したカスタムクラスへの手動注入
-
29-09-2019 - |
質問
私の文脈で:
var parserManager:ParserManager = injector.instantiate(ParserManager);
parserManager.injector = injector;
injector.mapValue(ParserManager, parserManager);
私のparsermanager(他のクラスを拡張しない)クラス:
public var injector:IInjector;
Parsermanagerは、一部のモデルに注入されます。それを行うより良い方法はありますか?これはとても汚いです。
解決
injector.mapSingleton(ParserManager);
var parserManager:Parser = injector.getInstance(ParserManager);
Parsermanager:
[Inject]
public var injector:IInjector
インジェクターをマネージャーの名前でクラスに注入するのは少し疑わしいですが、それは私がそれを成し遂げるために考えることができる最もきれいな方法についてです。
マネージャーがマッピングされた後、すぐに必要でない場合は、最初に作成されたときにインジェクターで注入されます(それを使用する別のクラスに注入されます)。 Robotlegsはインスタンスを怠zyに作成します。
所属していません StackOverflow