事件驅動機制跟訊息驅動機制相比,有哪些優劣的地方?

時間 2021-06-02 12:31:31

1樓:曹操

我是這麼理解的

假設系統是這樣的:處理A事後還有B事要處理告訴處理A事的程式B事是如何做的,在A事處理完後,直接呼叫處理B事的程式(或介面)來處理B事。這是基於事件的。

處理完A事,放個訊息在某個地方,意思是我處理完A事了,此時,處理A的程式已經完事大吉了。至於何時,如何處理B事,由另乙個程式根據那個訊息來處理。這就是基於訊息的。

2樓:韋易笑

事件模式耦合高,同模組內好用;訊息模式耦合低,跨模組好用。事件模式整合其它語言比較繁瑣,訊息模式整合其他語言比較輕鬆。事件是侵入式設計,霸佔你的主迴圈;訊息是非侵入式設計,將主迴圈該怎樣設計的自由留給使用者。

如果你在設計乙個東西舉棋不定,那麼你可以參考win32的GetMessage,本身就是乙個藕合度極低的介面,又足夠自由,介面任何語言都很方便,具體應用場景再在其基礎上封裝成事件並不是難事,介面耦合較低,即便哪天事件框架調整,修改外層即可,不會傷經動骨。而如果直接實現成事件,那就完全反過來了。

3樓:Veixiao V

事件驅動和訊息驅動就像dependency injection和service locator,有各自的適用場景。具體我也說不清楚,反正好的隱喻很重要。

航天發動機只能使用燃料驅動嗎?

LANCER VIII 根據動量守恆,產生推力需要兩點,一是工質,二是能力。只要有這兩點,就可以了,不一定需要化學燃燒噴射燃氣,也可以用核反應,後者電子推進,光壓推進也可以。用高壓氣推進 如水火箭 在太空中也可以實習,而且效果更好。 IctusPrimus 我來抖個機靈 可能很多人都不知道,人類其實...

發動機中置後驅動力如何傳遞?

Honda志 MR或者M4布局大致上有三種形式,較為常見的是橫置式引擎中置布局,說得簡單點兒就是如前驅車那樣將引擎和變速箱一起 平行地 移動到後軸之前,形成中置布局,這種布局起源於Lamborghini的Miura,後來的許多MR布局的車型均使用類似的布局,在國內出現過的車型包括了MR2 NSX B...

本人正在學MFC?請問,訊息對映,事件驅動,命令傳遞是MFC獨有的嗎?

發發啊喂 訊息對映不是MFC獨有.Win32程式設計裡面就有了.事件驅動也是Win32的.MFC只是對其作了封裝.但本質上還是作業系統提供的API而已.Windows 最神奇的地方是 不要去呼叫Windows,Windows會來呼叫你 所以你寫的程式也大多是告訴Windows,調你的時候如何響應.這...