Учитывая следующий Javascript, было бы лучше/более идиоматично вводить объект MyService
в myMethod
, чтобы можно было ввести ложную версию MyService
для тестирования? Или я чего-то не хватает?Idiomatic График зависимости Javascript
var myObject = {
myMethod: function() {
var myService = new MyService();
return myService.doSomething();
}
}
«Интерфейс» Предполагаю, вы имеете в виду, что прототип 'MyService' установлен в' Сервис'? Учитывая, что методы могут динамически меняться в JS, каковы преимущества этого подхода сверх простого переопределения (скажем) 'doSomething' в моем тесте? – Ben
Точно. Он не имеет прироста производительности. Это только делает вашу программу более читаемой, позволяя читателю понять контракт (интерфейс), а затем следовать логике внутри реализации. –
Хорошо. Спасибо за вашу помощь. – Ben