2011-03-18 45 views
2

任何人都可以很好地说明这是如何在jQuery中起作用的吗?jQuery中的接口隔离原理

具体关于从here的答案。

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

+0

我爱的jQuery但老实说,我不认为它做了处理接口隔离的“好工作”。你想要点柜台吗? – Shakakai 2011-03-18 09:07:21

+0

@Shakakai真的不认为你的评论帮助我理解关于这个问题的任何事情。 – bcm 2011-03-18 09:30:50

+0

我并没有试图帮助您理解该评论 - 只是询问您是否会接受解释jQuery如何不遵循界面隔离原则的响应。 – Shakakai 2011-03-18 10:02:11

回答

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(); 
})