事件觀察者的應(yīng)用
事件觀察者又可以叫事件委托、訂閱模式,目的是為了解偶,定義了一種一對多的關(guān)系,當(dāng)事件變化時通知與此事件依賴的對象,并做出相應(yīng)的處理。應(yīng)用時非常廣的,我在做游戲中時必定用到的,是最最基礎(chǔ)的模塊,數(shù)據(jù)更新、玩家動作觸發(fā)、幀頻刷新、服務(wù)器消息響應(yīng)、界面與邏輯分離、狀態(tài)變遷等等。我在理解觀察者模式的基礎(chǔ)上作出了一些改動,使用起來會更方便與快捷。
事件觀察者
首先,事件觀察者監(jiān)聽事件,然后當(dāng)收到事件觸發(fā)時,調(diào)用事件響應(yīng)函數(shù),完成一次事件的變遷。
那么,事件觀察者內(nèi)部會存在一個事件列表來維護(hù)事件綁定,即為 eventMap ,其中key是唯一值是事件ID,通過區(qū)分事件ID來劃分事件監(jiān)聽函數(shù)。
一個事件ID對應(yīng)多個響應(yīng)事件
事件ID不可重復(fù)
同一個事件ID的事件響應(yīng)函數(shù)不可重復(fù)。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26