2011-07-08 20 views
0

私はjQueryのに建てられた多くのツール、および、特に、AJAXのいくつかの種類を使用するなどjqueryのなどをonSubmit、onCompleteの、

をonSubmit、onCompleteの、などのフックを持っているものは、名前が、このためにそこにあることに注意してください練習とそれを特徴付ける慣習

この練習の文化はjQueryコミュニティの一部ですか、それとももっと大きなjavascript現象ですか?

この方法論を活用するツールを作成するためのガイドをお勧めしますか?

答えて

2

これはオブザーバーデザインパターンと呼ばれています。それは、JQueryやJavaScriptのためには分離されていません。ほとんどのプログラミング言語には多くのデザインパターンを実装できます。

DevShopは、javascriptのデザインパターンのフレームワークです。

OBSERVER

(function(){ 
    DevShop.Me({ 
     Observer:function(obj){ 
      var observer=function(){ 
       this.onRegister=function(){}; 
       this.notify=function(eventName,observable){ 
        this.observable=observable; 
        if(typeof this[eventName]==="function") 
         try{this[eventName]();}catch(e){} 
       }; 
      }; 
      return DevShop.SingletonFactory({extend:observer,instance:obj}); 
     } 
    }); 
})(); 

観測可能

(function(){ 
    DevShop.Me({ 
     Observable:function(obj){ 
      var observable=function(){ 
       this.observers=[]; 
       this.addObserver=function(o){ 
        if(typeof o==="function"||typeof o==="object"){ 
         if(typeof o.notify==="function"){ 
          this.observers.push(o); 
          if(typeof o.onRegister==="function") 
           try{o.onRegister();}catch(e){} 
         } 
        } 
       }; 
       this.notifyObservers=function(eventName){ 
        var size=this.observers.length; 
        for(var x=0;x<size;x++){ 
         try{ 
          this.observers[x].notify(eventName,this); 
         }catch(e){} 
        } 
       }; 
      }; 
      return DevShop.SingletonFactory({extend:observable,instance:obj}); 
     } 
    }); 
})(); 

あなたがここにオブザーバーデザインパターンについての詳細を読むことができます:http://en.wikipedia.org/wiki/Observer_pattern

+0

何ロッキン彼らのObserverパターンは次のようになります答え、そしてすばやく! – jMyles

関連する問題