事件觀察者的應用
事件觀察者又可以叫事件委托、訂閱模式,目的是為了解偶,定義了一種一對多的關系,當事件變化時通知與此事件依賴的對象,并做出相應的處理。應用時非常廣的,我在做游戲中時必定用到的,是最最基礎的模塊,數(shù)據(jù)更新、玩家動作觸發(fā)、幀頻刷新、服務器消息響應、界面與邏輯分離、狀態(tài)變遷等等。我在理解觀察者模式的基礎上作出了一些改動,使用起來會更方便與快捷。
事件觀察者
首先,事件觀察者監(jiān)聽事件,然后當收到事件觸發(fā)時,調用事件響應函數(shù),完成一次事件的變遷。
那么,事件觀察者內部會存在一個事件列表來維護事件綁定,即為 eventMap ,其中key是唯一值是事件ID,通過區(qū)分事件ID來劃分事件監(jiān)聽函數(shù)。
一個事件ID對應多個響應事件
事件ID不可重復
同一個事件ID的事件響應函數(shù)不可重復。