數(shù)據(jù)流——描述程序運(yùn)行過程中數(shù)據(jù)的流轉(zhuǎn)方式及其行為狀態(tài)。在MVC模型中,Model層的本質(zhì)就是“數(shù)據(jù)”,數(shù)據(jù)在MVC的各個構(gòu)成要素中流轉(zhuǎn)并且在不同的層次扮演著不同的角色。當(dāng)程序運(yùn)行起來之后,我們會發(fā)現(xiàn)正是由于數(shù)據(jù)的流轉(zhuǎn),才使得原本孤立和靜態(tài)的元素形成了互動。因此,我們可以得出結(jié)論——真正貫穿MVC框架并且將MVC的各個模塊黏合在一起的是數(shù)據(jù)。數(shù)據(jù)作為黏合劑,構(gòu)成了模塊與模塊間的互動載體,把MVC真正融合在了一起。
因此我們可以看到在MVC模型中,Model層實(shí)際上是一個動態(tài)元素,它作為數(shù)據(jù)載體流轉(zhuǎn)于程序之間,并在不同的程序模塊中表現(xiàn)出不同的行為狀態(tài),這就是形成數(shù)據(jù)流的本質(zhì)。
控制流——控制程序邏輯執(zhí)行的先后順序,控制流實(shí)際上是數(shù)據(jù)流融入控制層之后形成的邏輯處理和程序跳轉(zhuǎn)的結(jié)果??刂屏髦阅軌蚍Q為控制流,完全是因?yàn)樗刂频膶ο笫菙?shù)據(jù),數(shù)據(jù)在邏輯處理過程中的形式和狀態(tài)的變化,一定程度上促成了控制層的邏輯處理和程序跳轉(zhuǎn)的結(jié)果。
控制層的核心職責(zé)是處理業(yè)務(wù)邏輯,這一結(jié)論直接為開發(fā)框架指明了目標(biāo): 控制層應(yīng)該更加關(guān)注其核心的職責(zé),而其他的輔助邏輯則由框架幫忙來實(shí)現(xiàn)。 為了完成這一目標(biāo),以XWork為首的開發(fā)框架就開始對位于控制層的這四段代碼進(jìn)行規(guī)劃。 因?yàn)槲覀儼l(fā)現(xiàn),只有對業(yè)務(wù)邏輯的處理是我們在控制層所關(guān)心的核心內(nèi)容。 而除此之外的代碼,則應(yīng)該通過合理的設(shè)計(jì),轉(zhuǎn)化為一個標(biāo)準(zhǔn)而規(guī)范的事件處理流程。
兩者的區(qū)別是數(shù)據(jù)流是在控制流上的數(shù)據(jù)操作表示,只有在控制流上進(jìn)行的數(shù)據(jù)流分析才是有價值的。
數(shù)據(jù)流最初是通信領(lǐng)域使用的概念,代表傳輸中所使用的信息的數(shù)字編碼信號序列。控制流是按一定的順序排列程序元素來決定程序執(zhí)行的順序。Visual BASIC、C和其他編程語言也繼承了控制流,語句按照出現(xiàn)在程序中的順序執(zhí)行。LabVIEW 使用順序結(jié)構(gòu)實(shí)現(xiàn)數(shù)據(jù)流框架中的控制流。順序結(jié)構(gòu)是一系列順序執(zhí)行的有序幀集合。順序結(jié)構(gòu)順序執(zhí)行幀0,然后是幀1、幀2,直到最后一個幀。只有最后一個幀執(zhí)行完畢,數(shù)據(jù)才會離開結(jié)構(gòu)。共有兩種風(fēng)格的順序結(jié)構(gòu):單層順序結(jié)構(gòu)和疊層順序結(jié)構(gòu)。
-
數(shù)據(jù)流
+關(guān)注
關(guān)注
0文章
119瀏覽量
14349 -
控制流
+關(guān)注
關(guān)注
0文章
9瀏覽量
8495
發(fā)布評論請先 登錄
相關(guān)推薦
評論