我一直在玩弄依赖注入javscript但有一些问题,我需要与依赖注入的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();
}
现在我知道,这将创建缺点,其中之一是影响其对单元测试时间,我渴望了解的是我是否错过了某些东西或其他方法?
预先感谢