1. 程式人生 > >訊息驅動與事件驅動比較

訊息驅動與事件驅動比較

簡單記錄自己對於 訊息驅動 和 事件驅動的理解。

關於這二者的具體區別,於實現上來說,二者都是 註冊繫結,然後交付執行。

訊息驅動模型在註冊的時候僅僅註冊一個回撥函式作為處理函式。
而事件驅動模型則需要註冊多個函式作為處理函式。

訊息驅動模型由於處理函式只有一個的緣故,
故需要在回撥函式中使用switch等手段,
對訊息進行派發並具體處理。
而事件驅動模型則需要在各個回撥函式中處理各自的事物。

所以從設計角度說,
訊息驅動模型的複用性高於事件驅動模型,
或者說事件驅動模型一般用於處理某個特定的問題。
而造成這種情形的原因是,
訊息驅動模型不需要知道具體的訊息含義,
而事件驅動模型則需要知道具體的事件含義,否則無法通過回撥函式處理。