2011-08-03 189 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

那麼,在你設想的情況下,它不是。

當你的代碼增長時,它是。它更具可擴展性。