當我的構造函數是純粹的參數到propeties設置器,然後我不知道該把類需要正常工作的其他代碼放在哪裏。何時使用依賴注入時需要的初始化代碼?
例如在JavaScript中,我正在編程一個WindowMessageController
,它在window
對象上處理message
事件。
爲了這個工作,我必須重視地方的處理程序:
var controller = this;
this.applicableWindow.addEventListener("message", function(event) {
controller.messageAction(event.data);
}
哪裏這東西屬於正常?
-
在構造函數中.initialize()方法
- - 引入時間耦合在WindowMessageControllerFactory.create(applicableWindow)
- - 這麼中心件的代碼相當遠的地方。這意味着即使是這樣一個小班也會分成兩部分。
- 在組合物根本身 - 做所有的時間
- 在其它的類WindowMessageRouter時,這會乘其大小將只有一個方法,構造,使用此代碼
編輯
這種情況似乎很特殊,因爲在應用程序中通常只有一個此類控制器的實例。然而,在更一般化的情況下,如果我創建了一個Button
類的實例,那麼這個答案將會包含一些DOM <button />
元素? Suddeny a
button = buttonFactory.create(domButtonEl);
似乎更有用。