0

私はインターフェースを持っています:

public interface MyInterface {...}

MyInterface の各実装には、独自の (異なる) 依存関係があります。例:

public class MyObjectOne implements MyInterface {
    @Inject ServiceA ...;
    ...
}

public class MyObjectTwo implements MyInterface {
    @Inject ManagerB ...;
    @Inject ProviderC ...;
    ...
}

何百もの MyInterface 実装を持つことができます。今、私は次のようにマップを作成したいと思います:

Map<String, MyInterface> map = new HashMap<String, MyInterface>();
map.put("key1", new MyObjectOne());
map.put("key2", new MyObjectTwo());
...
map.put("keyn", new MyObjectN());

残念ながら、このショート サーキット ダガーは、MyObjectOne、MyObjectTwo、...、および MyObjectN に何も注入しません。さらに、このコードはライブラリ/モジュールの一部であるため、現時点では ObjectGraph はありません。

解決策を探していたときに、Guice のMapBinderクラスに出くわしました。この機能は Dagger では使用できません。

  1. 私の問題は Dagger で解決できますか?

  2. そうでない場合、MapBinder は Dagger 2.0 に組み込まれる可能性のある機能ですか?

乾杯と前もって感謝します。

4

1 に答える 1