2010-03-31 102 views
3

當用戶提交消息時,它是一個動作還是事件?行動和事件有什麼區別?

+0

在哪個上下文中你是在談論一個動作?一個ASP.Net MVC動作? – anthonyv 2010-03-31 01:47:37

+0

PHP,Elgg,控制器邏輯。 – Steven 2010-03-31 01:58:04

回答

3

用戶僅提供動作(在對話等按壓按鍵,作出選擇)

這些動作得到[有時]轉換成由底層框架事件。在概念上,事件可以理解爲[通知]「消息」發送到隱式或顯式地「註冊」到底層框架以通知[針對特定類型的事件]的方法。實際上,框架只是用適當的參數調用這些方法,而這樣的調用實際上是一個事件。

單詞事件也用於指定特定類型的事件。例如,可以提到給定編輯框或其他UI元素的「更改」事件或「提交」事件。從這個意義上講,事件並不是調用底層方法的機會的特定實例,而是保證調用方法的通用條件集合。

因此,用戶並沒有真正「提交的消息」的措辭中的問題,他/她需要在不同的UI元素的一些行動,而這些行動[可]導致該框架檢測到的事實特定的事件類型(或幾個)。該框架然後查找哪些方法當前被註冊以接收相應的通知,然後框架調用這些方法,傳遞適當的參數(它們構成供方法使用的「消息」類)。

該模型背後的主要思想是爲應用程序級提供特定的邏輯來處理事件,但不用擔心繫統和用戶的每一次「移動」。該框架做到了這一點,並且可以信任通知相關的事件處理程序會有特定的用戶動作(或系統條件,例如定時器達到其設定時間,網絡數據包正在被接收等)等等。

相關問題