【发布时间】:2011-12-16 01:34:04
【问题描述】:
这个问题专门与 JavaScript 相关,但我想它适用于任何语言。
我是 OOP 的新手,我只是想看看是否有最佳实践/更好的方法来做到这一点。我有一个需要订阅某些事件的对象。我将事件订阅放在对象构造函数中,如下所示:
function Obj() {
//instance variables
outsideEvent.addHandler(function(response) {
//do stuff
});
}
问题是现在我觉得对象与发布者耦合了;我想如果我能以某种方式在对象本身之外订阅。不幸的是,我不知道何时何地初始化该对象的新实例。我考虑过创建一个“attachEvents”成员函数,但是每当在构造函数中创建或调用新实例时都必须调用该函数,但这也许是最佳实践?它至少会使单元测试更容易。
我只是在寻找一些建议;任何事情都值得赞赏!
【问题讨论】:
-
如果您正在寻找一种更加解耦的方法,那么我想您可能会对weak event pattern 感兴趣
-
我不知道这种模式;谢谢!
标签: javascript oop design-patterns observer-pattern