Я играл с Dependency Injection с javscript, но есть некоторые вопросы, которые мне нужно помочь сDependency Injection в JavaScript
Простой пример является диалоговым модулем я, используется в нескольких местах на странице он оповещающий пользователь с помощью пользовательского сообщения, когда пользователь взаимодействует с компонентом на странице
function Dialog() {
}
Dialog.prototype.show = function() {
}
и это может быть использован в качестве компонента, скажу управление поиском, который проверяет поиск пользователя, и если его пуст, срабатывает диалоговое окно с сообщением об ошибке. При инъекции зависимостей Я предполагаю, что я хотел бы написать:
function searchComponent (dialog) {
this.dialog = dialog
}
searchComponent.prototype.validateSearch = function() {
// validate search if invalid create error
this.dialog.show();
}
var searchDialog = new Dialog();
var search = new searchComponent(searchDialog);
Однако пользователь не может не понадобится диалог поиска ошибок, но я создаю экземпляр этого просто так, что я могу затем передать зависимость через то, что если У меня есть 100 отдельных экземпляров диалогового окна на странице, которое я создаю эти 100 раз, это не является необходимым и дорогостоящим в производительности.
, что я предпочел бы сделать это ленивые нагрузки построением диалога в то время, когда это необходимо
searchComponent.prototype.validateSearch = function() {
//validate search if invalid create error
var dialog = new Dialog();
dialog.show();
}
теперь я знаю, что это создает неудобства и один из них является влияние она оказывает на модульном тестировании , я хочу понять, пропустил ли я что-то или альтернативный метод?
Заранее благодарен