jQuery中的接口隔离原则

时间:2011-03-18 08:53:30

标签: javascript jquery design-principles interface-segregation-principle

任何人都能够很好地说明这在jQuery中是如何工作的吗?

特别是关于here的答案。

听起来与OOP的单一责任原则(SRP)相同?它有什么不同?

1 个答案:

答案 0 :(得分:1)

现在回答我自己的问题感觉更舒服。

使用单一责任原则,我主要考虑在游戏中创建的对象。就内部职能/方法而言,该对象应仅对其自身负责。

至于接口隔离,我更多地考虑避免匿名函数调用,并将大量代码分离到不同的命名调用。 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();
})