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