本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種事件廣播的方法及裝置。
背景技術(shù):
b/s(browser/server,瀏覽器/服務(wù)器模式)架構(gòu)客戶端是由一系列層次結(jié)構(gòu)分明的對象組成,其中包含一個根對象,其他所有對象都繼承于這個根對象,或者嵌套在這個根對象內(nèi)部。對象之間的通信可以通過事件機制來實現(xiàn)。目前b/s架構(gòu)客戶端事件有冒泡和隧道機制,冒泡機制是子對象向父對象傳播事件,隧道機制是父對象向子對象傳播事件。
但是上述機制有一些限制,例如,不能向正在監(jiān)聽的所有對象同時廣播事件,必須選擇是否與父對象或者子對象通信。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有b/s架構(gòu)客戶端事件必須選擇是否與父對象或者子對象通信的缺陷,本發(fā)明實施例提供了一種事件廣播方法,解決了現(xiàn)有技術(shù)中存在的不能向正在監(jiān)聽的所有對象同時廣播事件的問題。
本發(fā)明采用以下技術(shù)方案,首先本發(fā)明實施提供了一種事件廣播的方法,包括:
派發(fā)事件的對象,調(diào)用事件廣播代理服務(wù),廣播相應(yīng)的事件類型;
優(yōu)選地,所述方法還包括監(jiān)聽所述事件的對象,先注冊監(jiān)聽所述事件類型;
本發(fā)明實施還提供了事件廣播的裝置,包括:
調(diào)用模塊,用于派發(fā)事件的對象,調(diào)用事件廣播代理服務(wù),廣播相應(yīng)的事件類型;
優(yōu)選地,所述裝置還包括注冊模塊,用于監(jiān)聽所述事件的對象,注冊監(jiān)聽所述事件類型。
有益效果:采用本發(fā)明實施例所述方法,與現(xiàn)有b/s架構(gòu)客戶端的冒泡 和隧道事件機制相比,不再受父子層次結(jié)構(gòu)的限制,從而達到了能向正在監(jiān)聽的所有對象同時廣播事件的效果。
附圖說明
圖1是b/s架構(gòu)客戶端現(xiàn)有的冒泡和隧道事件機制;
圖2是本發(fā)明實施例一種事件廣播方法的示意圖;
圖3是本發(fā)明實施例一種事件廣播方法的流程圖;
圖4是本發(fā)明實施例一種事件廣播裝置圖。
具體實施方式
應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。下面結(jié)合附圖對技術(shù)方案的實施作進一步的詳細描述:
圖1是b/s架構(gòu)客戶端現(xiàn)有的冒泡和隧道事件機制,冒泡機制是子對象向父對象傳播事件(例如對象subobjectaba冒泡派發(fā)事件時,只有它的父對象們能監(jiān)聽到事件,其他對象則監(jiān)聽不到事件),隧道機制是父對象向子對象傳播事件(例如對象subobjectb隧道派發(fā)事件時,只有它的子對象們能監(jiān)聽到事件,其他對象則監(jiān)聽不到事件)。因此這種機制有一些限制,不能向正在監(jiān)聽的所有對象同時廣播事件,必須選擇是否與父對象或者子對象通信。
圖2是本發(fā)明實施例一種事件廣播方法的示意圖。派發(fā)事件的對象subobjectab調(diào)用事件廣播代理服務(wù),傳入?yún)?shù)為事件類型,內(nèi)容包括(事件名稱,派發(fā)事件的對象),基于根對象rootobject的隧道機制,將所述事件廣播給正在監(jiān)聽事件的對象們。
圖3中是本發(fā)明實施例一種事件廣播方法的流程圖。
步驟s301:監(jiān)聽事件的對象注冊監(jiān)聽事件類型
監(jiān)聽事件的對象注冊監(jiān)聽事件,參數(shù)為事件類型,內(nèi)容包括(事件名稱,派發(fā)事件的對象);舉例如下:
對象ab注冊監(jiān)聽對象bb發(fā)起的query事件。
subobjectab.watch(‘query’,’subobjectbb’)。
步驟s302:派發(fā)事件的對象,調(diào)用事件廣播代理服務(wù),廣播相應(yīng)的事件類型。
派發(fā)事件的對象調(diào)用事件廣播代理服務(wù)進行事件廣播,參數(shù)為事件類型,內(nèi)容包括(事件名稱,派發(fā)事件的對象)。
舉例如下:
eventbroadcastservice.broadcast(‘query’,’subobjectbb’);
事件廣播代理服務(wù),利用根對象的隧道機制,將事件廣播出去。
舉例如下:
¥rootobject.broadcast(‘query’,’subobjectbb’)。
圖4是本發(fā)明實施例的裝置圖,包括:
第一模塊401注冊模塊:用于用于監(jiān)聽所述事件的對象,注冊監(jiān)聽所述事件類型。
第二模塊402調(diào)用模塊:用于派發(fā)事件的對象,調(diào)用事件廣播代理服務(wù),廣播相應(yīng)的事件類型。
以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其它相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。