2011-08-03 188 views
0

我开始使用模式观察器来开发我的jQuery应用程序,但真诚地,我不明白这种模式的好处。jQuery和观察者模式

例子:

myfunctions = { 
    first_function: function() { 
     alert('This is the first function'); 
    }, 
    second_function: function() { 
     alert('This is the second function'); 
    } 
}; 

现在,为什么这个方法:

$(document).bind({ 
    'first_function': myfunctions.first_function, 
    'second_function': myfunctions.second_function 
}); 

$('button').bind('click', function() { 
    $(document).trigger('first_function'); 
}); 

是比这更好:

$('button').click(function() { 
    myfunctions.first_function(); 
}); 
+2

为什么在开始理解之前就开始使用它? –

回答

3

,当你有“兴趣的东西观察者模式是有益的“到其他”事物“,但是你不知道究竟有多少甚至那些”事物“会是什么。

几年前,我在javascript中为一个“仪表板”样式页面实现了观察者模式,其中一些控件(位于页面顶部)被各种面板使用。如果其中一个或多个控件的值已更改,则需要刷新这些面板。它工作得很好,因为我可以添加新面板并将它们设置为任何“顶级”控件的观察者,而无需控件知道新面板。

0

那么,在你设想的情况下,它不是。

当你的代码增长时,它是。它更具可扩展性。