2017-02-11 473 views
0

我聽說過過去不同人士的條款Data DrivenEvent Driven。我做了谷歌,但這些條款仍然模糊,我爲他們兩個 類似於我數據驅動vs事件驅動模型/架構?

數據驅動的編程是一種編程模型,其數據本身控制程序的流程(而不是程序邏輯),其中如果是事件驅動編程, 事件不是數據本身控制程序的流程。

每礦理解事件也是數據。例如,在基於員工的Web應用程序中 - 如果用戶單擊創建員工按鈕,則此處的事件是創建員工(這也僅是一種數據),數據是與員工相關的信息。

現在在服務器首先它將決定什麼是程序流程,然後數據(員工相關信息)也將控制執行流程,就像永久員工不同的方法將被執行一樣,如果臨時它會是不同的

那麼,不是每一件事情都是數據驅動架構?如果它們之間沒有什麼區別?任何基於Web的例子可以幫助

回答

0

數據本身控制程序的流程(而不是程序邏輯)

我猜你是沒有完全理解什麼是本文中的「流」。流程本身就是邏輯。例如,如果你正在執行某個方法,那麼執行A,然後是B,然後C是它的參數,則邏輯將是「應用A,B,C」,並且如果提取動作A,B,C,流程將是相同的方法。所以,流程和邏輯是同義詞。

數據驅動編程意味着一些一般代碼存在。它不包含任何業務邏輯,它不控制流量。它只是一個讀取和處理數據和輸出結果的工具。數據本身是什麼控制流程和邏輯。所以,如果你想改變業務邏輯(從字面上改變程序的結果),你可以改變數據,而不是代碼。
而你的代碼是,它是一種根據輸入數據執行命令的管道。你可以在javascript中將這樣的代碼想象爲eval函數。

事件驅動編程邏輯由事件控制。這意味着數據只是數據,所有業務規則都放在代碼中。事件會攜帶一些數據,而邏輯可以根據事件的數據進行更改,但這裏的區別在於這些不斷變化的邏輯規則放置在數據或代碼中的位置,在EDP的情況下,邏輯在代碼中。

另外,看看this的問題,一些答案可以揭示這個問題。