1
我有一個接口註冊實現的列表與微微集裝箱
public interface IInterface{}
我有這個接口的實現的列表:
public class MyClass1 implements IInterface{}
public class MyClass2 implements IInterface{}
我想用什麼筆克集裝箱做:
註冊所有的實現IInterface到能夠解決這些問題的列表:
public class MyTest { public MyTest(IInterface[] list){} }
而另一個選擇是能夠與註冊實施鍵名爲:
container.addComponent(IInterface.class, MyClass1.class, "name1"); container.addComponent(IInterface.class, MyClass2.class, "name2");
能夠做這樣的事情:
container.getComponent(IInterface.class, "name2");
是否有至少第1個問題的內置解決方案?
UPD
- 發現在碧這個實現很奇怪,不直觀。
爲了能夠注入一個數組有必要:
container.addComponent(MyClass1.class);
container.addComponent(MyClass2.class);
container.addComponent(MyTest.class);
MyTest test = container.getComponent(MyTest.class);
這將注入所有實現的數組。但是這種行爲很不明確,不直觀。至於我註冊配對會更好。
但我如何註冊實現列表?或者只是一個一個註冊? – deeptowncitizen