У меня есть объект, который должен создать экземпляр объекта внутри себя, чтобы избежать утечки состояния на другие вызовы функции на Factory
, из которых будет только один экземпляр.Идиома для тестирования взаимодействия
function Factory() {
}
Factory.prototype.create = function() {
var builder = new Builder(); //must be newed up
//...
}
Но это мешает мне делать утверждения о взаимодействии Factory
и Builder
, потому что я не могу впрыснуть макет строителя.
В JavaScript, что является идиоматическим способом обойти эту проблему и включить тестирование взаимодействия. Это правильный подход?
Factory.prototype.create = function(builder) {
var builder = builder || new Builder(); //must be newed up
//...
}
Что такое «причины повторения»? – Bergi
Я изменил терминологию. Я считаю, что реентерация была неправильным термином. – Ben
Подождите, почему есть только один экземпляр 'Factory'? Почему бы не передать конструктор 'Builder' в' Factory'? – Bergi