簡體   English   中英

XPCOM中的依賴注入

[英]Dependency Injection in XPCOM

我的XPCOM組件之一利用了其他XPCOM組件。 在測試時,我發現它的依賴項繁瑣。 然后,我想到了使用依賴注入在構造函數中傳入其他組件。 我沒有成功。 是否可以將其他組件的引用傳遞到構造函數中?

 var _foo = Components.classes["@foo.com/foo;1"].createInstance(bar);
 this.foo = _foo.QueryInterface(Components.interfaces.IFoo);

例如,foo組件需要bar。 我可以通過foo的構造函數傳入bar嗎? 我嘗試了上面的方法,但是沒有用。

是否可以將其他組件的引用傳遞到構造函數中?

createInstance的參數是一個接口; .createInstance(interface).createInstance().QueryInterface(interface)的快捷方式。

問題的答案在於您未在問題中描述的區域-最有可能您不需要從“構造函數”訪問其他組件,或者偶然發現了可以解決的問題,而是“麻煩的cos依賴項”,然后繼續。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM