- Live軟件開發(fā)面面談
- 潘俊編著
- 522字
- 2019-07-30 17:55:01
第2章 事件
在計算機(jī)科學(xué)里,事件指的是系統(tǒng)內(nèi)發(fā)生的某件事或變化,可以被某個程序接收并處理。它可以是用戶輸入導(dǎo)致的,例如按鍵、單擊鼠標(biāo);可以是網(wǎng)絡(luò)通信導(dǎo)致的,例如Web服務(wù)器接收到一個請求,郵件服務(wù)器收到一封郵件;也可以僅僅作為不同對象之間控制流程轉(zhuǎn)移的一種手段,例如為程序自定義的事件。所有這些情況都被抽象出一套共同的機(jī)制,用于有效地處理事件參與者之間的互動。這個機(jī)制包含以下幾個組成部分:事件的源/發(fā)布者、事件的收聽者/訂閱者/處理器以及收聽者與發(fā)布者之間如何處理事件的協(xié)議,包括收聽者用于處理事件的方法的簽名、發(fā)布者傳遞給收聽者的事件信息。事件機(jī)制在圖形界面軟件開發(fā)、網(wǎng)絡(luò)編程等領(lǐng)域都有廣泛的應(yīng)用,圍繞它進(jìn)行的編程范式被稱為事件驅(qū)動編程。
事件與編程中的許多其他概念既有聯(lián)系也有區(qū)別,如控制反轉(zhuǎn)(Inversion of control)、回調(diào)函數(shù)(Callback function)和觀察者模式(Observer pattern)。把事件和它們放在一起討論比較有助于更清楚地理解各自的內(nèi)涵和用途。之后本章將重點分析Java、C#和JavaScript三種語言中事件編程的不同實現(xiàn)方式和特點,以更充分地揭示事件的本質(zhì),并且例示一個理念在不同語言中相映成趣的表現(xiàn)形式——這既能體現(xiàn)理念的一般性,又極好地展示了編程語言由于設(shè)計之差異在解決問題的方式和表現(xiàn)力上的多樣性。
- 無線接入網(wǎng)同步性能測試技術(shù)
- 雷達(dá)目標(biāo)特性及MATLAB仿真
- 隨機(jī)多址通信系統(tǒng)理論及仿真研究
- 無線網(wǎng)絡(luò)優(yōu)化
- 信息理論與編碼
- 電子技術(shù)及應(yīng)用
- 路由與交換技術(shù)
- 會聲會影X9 DV影片制作/編輯/刻盤實戰(zhàn)從入門到精通
- 電子制造與封裝
- 物聯(lián)網(wǎng)-射頻識別(RFID)核心技術(shù)教程
- 聲紋技術(shù):從核心算法到工程實踐
- 數(shù)字視頻制作應(yīng)用
- 多媒體通信技術(shù)與應(yīng)用
- 應(yīng)用商店核心用戶在線評論對消費者更新決策的影響研究
- 3G知識問答