[英]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.