谁能很好地说明这在 jQuery 中是如何工作的?
特别是关于here的答案。
这听起来与 OOP 的单一职责原则 (SRP) 相同吗?它有什么不同?
我现在更愿意回答我自己的问题。
使用单一职责原则,我主要考虑在游戏中创建的对象。就内部功能/方法而言,该对象应该只对自己负责。
至于Interface Segregation,我更多地考虑避免匿名函数调用,并将大量代码...隔离到不同的命名调用。Paul Irish 在 jQuery Anti-Patterns 中很好地解释了这一点。
而不是到处绑定的匿名函数,比如
$(function() {
//do stuff related to setup menu
//add facebook, twitter widgets
//more anonymous actions....
}):
隔离到定义明确的接口可能如下所示:
var homepage = (function() {
function setupMenu() {
//do stuff related to setup menu
}
function setupSocial() {
//add facebook, twitter widgets
}
return {
setupMenu:setupMenu,
setupSocial:setupSocial
}
})();
$(function() {
homepage.setupMenu();
homepage.setupSocial();
})