2011-08-03 6 views
0

私はjQueryアプリケーションの開発にパターンオブザーバを使い始めましたが、このパターンの利点を理解できません。jquery and observer pattern

例:

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でオブザーバーパターンを実装し、さまざまなパネルで複数のコントロール(ページの上部にある)を使用した「ダッシュボード」スタイルのページを作成しました。それらのコントロールの1つ以上が値を変更した場合、それらのパネルをリフレッシュする必要がありました。私は新しいパネルを追加することができ、新しいパネルについて知る必要のないコントロールのない「トップ」コントロールのオブザーバーとしてそれらを設定することができたので、うまく機能しました。

0

まあ、あなたの考案されたケースでは、そうではありません。

コードが大きくなると、それはです。よりスケーラブルです。