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