我一直在玩弄依賴注入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();
}
現在我知道,這將創建缺點,其中之一是影響其對單元測試時間,我渴望瞭解的是我是否錯過了某些東西或其他方法?
預先感謝