網(wǎng)站設(shè)計(jì)關(guān)于MVC框架的4+1視圖方案詳解,網(wǎng)站設(shè)計(jì)公司提醒一個(gè)軟件架構(gòu)有多個(gè)關(guān)注點(diǎn),每個(gè)關(guān)注點(diǎn)都有自己的系統(tǒng)分解方法。在設(shè)計(jì)架構(gòu)時(shí),架構(gòu)師必須從這些關(guān)注點(diǎn)出發(fā)來(lái)描述架構(gòu),并把架構(gòu)的設(shè)計(jì)通過(guò)文檔傳遞給系統(tǒng)設(shè)計(jì)人員。嘗試從多個(gè)關(guān)注點(diǎn)來(lái)描述架構(gòu)是十分困難的事情,為此一些研究者提出了很多的設(shè)計(jì)方法。其中,Philippe Kruchten在IEEE Software上發(fā)表的論文The 4+1 View Model of Architecture中首次提出的4+1視圖完美地解決了這個(gè)問(wèn)題。"4+1視圖”從5個(gè)從不同的側(cè)面來(lái)描述架構(gòu),其中包括4個(gè)主視圖和一個(gè)冗余的場(chǎng)景視圖。網(wǎng)站建設(shè)設(shè)計(jì)公司真能給你出如下4個(gè)主視圖分別如下:
·邏輯視圖(Logical View) :對(duì)象模型(使用面向?qū)ο蟮脑O(shè)計(jì)方法)。·進(jìn)程視圖(Process View):捕捉設(shè)計(jì)的并發(fā)和同步特征。
·物理視圖(Physical View) :定義軟件到硬件的映射,反映架構(gòu)的分布式特性。
·開(kāi)發(fā)視圖(Development View) :定義在開(kāi)發(fā)環(huán)境中軟件的靜態(tài)組織結(jié)構(gòu)。在進(jìn)行設(shè)計(jì)架構(gòu)時(shí),可以說(shuō)架構(gòu)的各個(gè)關(guān)注點(diǎn)都?xì)w結(jié)于以上4個(gè)視圖,使用一個(gè)場(chǎng)景視圖對(duì)它們進(jìn)行解釋和說(shuō)明,就形成了第5個(gè)視圖,如圖3.4所示。
在設(shè)計(jì)架構(gòu)時(shí),會(huì)基于每個(gè)視圖對(duì)系統(tǒng)進(jìn)行獨(dú)立分解,每種分解都是基于這個(gè)視圖的關(guān)注點(diǎn)而進(jìn)行的。基于每個(gè)視圖的分解都會(huì)使用相同的方法和步驟,把系統(tǒng)分解成組件并維持組件間交互的關(guān)系。但是每個(gè)視圖構(gòu)成的組件類型各不相同,這些組件的類型源自視圖分解的需求。同時(shí),在進(jìn)行系統(tǒng)分解時(shí)可以為每個(gè)視圖選擇不同的架構(gòu)風(fēng)格,允許系統(tǒng)中不同風(fēng)格的并存。
網(wǎng)站設(shè)計(jì)的邏輯視圖描述了對(duì)用戶提供的功能支持。這意味著邏輯視圖的分解依賴于需要解決的問(wèn)題。在使用面向?qū)ο蠼鉀Q問(wèn)題時(shí),構(gòu)成邏輯視圖的組件是對(duì)象,架構(gòu)師根據(jù)需要解決的問(wèn)題定義抽象類,再定義對(duì)象之間類的繼承、組合和關(guān)聯(lián)等關(guān)系。進(jìn)程視圖描述的是系統(tǒng)的非功能性需求,即系統(tǒng)在運(yùn)行時(shí)的分布性和并發(fā)性,以及邏輯視圖中的主要對(duì)象如何運(yùn)行在不同的進(jìn)程中的問(wèn)題。進(jìn)程視圖的組件是程序中的進(jìn)程,而描述它們關(guān)系的是消息、事件發(fā)布和遠(yuǎn)程調(diào)用等。
開(kāi)發(fā)視圖關(guān)注的是架構(gòu)如何指導(dǎo)開(kāi)發(fā)流程,在這個(gè)視圖中,軟件系統(tǒng)會(huì)被分解成小的子程序或軟件包(類庫(kù)),并為每個(gè)子程序或軟件包定義接口。系統(tǒng)設(shè)計(jì)人員會(huì)根據(jù)這些分解的子程序和軟件包分配工作內(nèi)容。
物理視圖關(guān)注的是支撐軟件功能的硬件性能,也是非功能性需求,主要體現(xiàn)在吞吐量、可靠性和可用性上。物理視圖主要考慮如何把軟件映射到硬件節(jié)點(diǎn)上,并解決網(wǎng)絡(luò)的拓?fù)潢P(guān)系以及硬件的安裝、連接和通信等問(wèn)題。
軟件產(chǎn)品是用來(lái)滿足用戶需求的。同樣,軟件的架構(gòu)是用于滿足軟件開(kāi)發(fā)需求的。也就是說(shuō),架構(gòu)的最終目的也是為了滿足用戶的需求。用例和場(chǎng)景都用于描述用戶的需求方式,用例是通過(guò)用戶使用的場(chǎng)景來(lái)獲取需求,一個(gè)用例有很多場(chǎng)景,在架構(gòu)設(shè)計(jì)中更強(qiáng)調(diào)場(chǎng)景的作用,“4+1視圖”是場(chǎng)景驅(qū)動(dòng)設(shè)計(jì)的。通過(guò)增加場(chǎng)景視圖,可以與其他視圖原生無(wú)縫地結(jié)合起來(lái)共同描述系統(tǒng)架構(gòu)。
架構(gòu)師在設(shè)計(jì)架構(gòu)時(shí),其實(shí)是先在大腦中把整個(gè)系統(tǒng)搭建起來(lái),再使用場(chǎng)景去驗(yàn)證這個(gè)架構(gòu)是否能滿足需求。當(dāng)然,架構(gòu)師不可能永遠(yuǎn)把對(duì)軟件產(chǎn)品的設(shè)想裝在大腦中,他需要把這個(gè)藍(lán)圖展現(xiàn)出來(lái),用以指導(dǎo)設(shè)計(jì)人員的開(kāi)發(fā)。“4+1視圖”就是展現(xiàn)這個(gè)藍(lán)圖的解決方案。本節(jié)只是簡(jiǎn)單介紹了架構(gòu)和“4+1視圖”的概念和定義,網(wǎng)站設(shè)計(jì)公司后面章節(jié)中會(huì)結(jié)合項(xiàng)目示例詳細(xì)介紹運(yùn)用“4+1視圖”設(shè)計(jì)架構(gòu)的方法。好了,
深圳網(wǎng)站設(shè)計(jì)公司本文“網(wǎng)站設(shè)計(jì)關(guān)于MVC框架的4+1視圖方案詳解”的建站經(jīng)驗(yàn)就分享到這里,謝謝關(guān)注,博納網(wǎng)絡(luò)編輯整理。