惯用Javascript依赖关系图
考虑到下面的Javascript,将惯用Javascript依赖关系图,javascript,oop,dependency-injection,Javascript,Oop,Dependency Injection,考虑到下面的Javascript,将MyService对象注入myMethod中是否更好/更惯用,这样就可以注入MyService的假版本进行测试?还是我遗漏了什么 var myObject = { myMethod: function() { var myService = new MyService(); return myService.doSomething(); } } 依赖项注入始终优先于对依赖项进行硬编码。此外,通过对接口进行编码(假设myObject实例
MyService
对象注入myMethod
中是否更好/更惯用,这样就可以注入MyService
的假版本进行测试?还是我遗漏了什么
var myObject = {
myMethod: function() {
var myService = new MyService();
return myService.doSomething();
}
}
依赖项注入始终优先于对依赖项进行硬编码。此外,通过对接口进行编码(假设myObject实例已获得具有
doSomething()
方法的服务对象的副本),可以在这里派上用场。依赖项注入始终优先于对依赖项进行硬编码。另外,通过对接口进行编码(假设myObject实例已经获得了一个具有doSomething()
方法的服务对象的副本)也可以在这里派上用场。通过“接口”,我想您的意思是MyService
的原型被设置为Service
?考虑到JS中的方法可以动态更改,除了在我的测试中简单地重新定义(比如)doSomething
之外,这种方法还有什么好处。它没有性能增益。它只允许读者理解契约(接口),然后遵循实现内部的逻辑,从而使程序更具可读性。没问题。我希望我能帮助您。我想您所说的“界面”是指MyService
的原型设置为Service
?考虑到JS中的方法可以动态更改,除了在我的测试中简单地重新定义(比如)doSomething
之外,这种方法还有什么好处。它没有性能增益。它只允许读者理解契约(接口),然后遵循实现内部的逻辑,从而使程序更具可读性。没问题。我希望我能帮助你。