这可能是一个维基问题,但仍然如此。哪种方法更符合 Javascript 精神:
var Report = function(data) {
var that = this;
that.send = function() { ... };
};
var r = new Report(data); // create and validate the data
r.send(); // encode and send the data
或者
var sendReport = function(data) {
...
// create, validate, encode and send the data
...
};
第一种方法似乎更OO,第二种更实用?首先,似乎 的功能Report
更易于测试(尽管例如我们仅send()
在此阶段具有)。Report
此外,当需要检查状态时,我喜欢在调试器中查看类型对象。
第二种方法可能更“简单”,但似乎不太可测试。
我个人采用第一种方法,但问题是我是否尝试在“错误”域中应用 OO“原则”(请帮助我更好地表达我的问题)。