999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于經(jīng)典MVC架構(gòu)的實(shí)現(xiàn)Web應(yīng)用系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2017-04-25 09:41:37張睿涵遼寧錦州渤海大學(xué)信息科學(xué)與技術(shù)學(xué)院
數(shù)碼世界 2017年4期
關(guān)鍵詞:用戶功能模型

張睿涵 遼寧錦州渤海大學(xué)信息科學(xué)與技術(shù)學(xué)院

基于經(jīng)典MVC架構(gòu)的實(shí)現(xiàn)Web應(yīng)用系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

張睿涵 遼寧錦州渤海大學(xué)信息科學(xué)與技術(shù)學(xué)院

MVC設(shè)計(jì)架構(gòu)是一種經(jīng)典的軟件設(shè)計(jì)模式,并廣泛應(yīng)用于Web應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程,本文分析討論面向?qū)ο蟮腗VC設(shè)計(jì)模式,分析該設(shè)計(jì)模式基本原理和構(gòu)成機(jī)制,并將MVC設(shè)計(jì)架構(gòu)融入到本文的系統(tǒng)開(kāi)發(fā)過(guò)程中。通過(guò)對(duì)MVC設(shè)計(jì)模式的研究,本文講述MVC設(shè)計(jì)架構(gòu)的應(yīng)用系統(tǒng)開(kāi)發(fā)原理及優(yōu)缺點(diǎn),基于MVC設(shè)計(jì)架構(gòu)的開(kāi)發(fā)軟件應(yīng)用系統(tǒng)的流程,并基于MVC設(shè)計(jì)架構(gòu)實(shí)現(xiàn)光盤(pán)發(fā)布應(yīng)用系統(tǒng)模型,將MVC設(shè)計(jì)架構(gòu)應(yīng)用于JSP開(kāi)發(fā)技術(shù)中。經(jīng)過(guò)本文研究的系統(tǒng)可以充分使用MVC設(shè)計(jì)架構(gòu)。

MVC設(shè)計(jì)架構(gòu) Web應(yīng)用系統(tǒng) J2EE平臺(tái) 光盤(pán)發(fā)布 JSP技術(shù)

1 引言

隨著Web應(yīng)用系統(tǒng)的使用不斷增多的現(xiàn)象,對(duì)于Web應(yīng)用系統(tǒng)的開(kāi)發(fā)與設(shè)計(jì)使用MVC設(shè)計(jì)架構(gòu),開(kāi)發(fā)Web應(yīng)用系統(tǒng)無(wú)論選擇什么編程語(yǔ)言,無(wú)論應(yīng)用系統(tǒng)業(yè)務(wù)功能流程多復(fù)雜,都可成為應(yīng)用系統(tǒng)所提供通用設(shè)計(jì)模式框架,為了構(gòu)造通用應(yīng)用系統(tǒng)提供基本的設(shè)計(jì)框架。本文通過(guò)對(duì)光盤(pán)發(fā)布應(yīng)用系統(tǒng)的實(shí)踐,深入研究基于MVC設(shè)計(jì)架構(gòu)的Web應(yīng)用系統(tǒng)。

本文涉及到的MVC設(shè)計(jì)模式(模型M一視圖V一控制器C),這種設(shè)計(jì)模式堪稱軟件設(shè)計(jì)的經(jīng)典模式。每個(gè)系統(tǒng)的用戶界面,負(fù)責(zé)顯示系統(tǒng)數(shù)據(jù)和與用戶交互操作的功能。用戶希望與應(yīng)用系統(tǒng)之間保持交互操作順暢,用戶希望系統(tǒng)能呈現(xiàn)動(dòng)態(tài)改變內(nèi)容或者其他展現(xiàn)形式,這就要求系統(tǒng)需要滿足用戶界面需求的同時(shí),系統(tǒng)邏輯模型獨(dú)立于用戶界面的組成,MVC開(kāi)發(fā)模型使得類(lèi)對(duì)象的強(qiáng)制分離,因此,實(shí)現(xiàn)Web應(yīng)用系統(tǒng)基于MVC設(shè)計(jì)模式作為一種層次結(jié)構(gòu)分離的模型是最佳的選擇,Web應(yīng)用系統(tǒng)的設(shè)計(jì)、開(kāi)發(fā)和維護(hù)變得非常靈活,極大地提高了模塊之間的重用性。

2 MVC設(shè)計(jì)模式概述

2.1 MVC的基本設(shè)計(jì)思想

Model、View和Controller的簡(jiǎn)稱,即是MVC。需要將一個(gè)應(yīng)用系統(tǒng)的輸入、數(shù)據(jù)加工處理和輸出過(guò)程均是按照這個(gè)流程方式實(shí)現(xiàn)業(yè)務(wù)功能的分離,應(yīng)用系統(tǒng)形成以模型、視圖和控制三層的軟件架構(gòu)。

模型層(Model):負(fù)責(zé)處理業(yè)務(wù)/狀態(tài)的處理過(guò)程以及業(yè)務(wù)規(guī)則定義。業(yè)務(wù)狀態(tài)處理流程對(duì)于其他層而言模糊操作,模型層接受來(lái)自視圖層用戶請(qǐng)求的數(shù)據(jù)處理過(guò)程,并為用戶返回有關(guān)的處理結(jié)果。

視圖層(Viewer):負(fù)責(zé)用戶數(shù)據(jù)交互操作界面,因此,對(duì)于Web應(yīng)用系統(tǒng)而言,基本上為HTML實(shí)現(xiàn)的網(wǎng)頁(yè),但是,也可以將XHTML、XML和Applet等技術(shù)應(yīng)用到HTML網(wǎng)頁(yè)前端。通常情況下,應(yīng)用系統(tǒng)可能存在多種不同的視圖層,通過(guò)MVC設(shè)計(jì)模式實(shí)現(xiàn)的系統(tǒng),視圖的作用負(fù)責(zé)對(duì)頁(yè)面控件數(shù)據(jù)的采集和系統(tǒng)處理數(shù)據(jù)的顯示,即負(fù)責(zé)接收來(lái)自用戶請(qǐng)求以及顯示處理結(jié)果的功能,而不負(fù)責(zé)在視圖層的業(yè)務(wù)功能處理過(guò)程。應(yīng)用系統(tǒng)的業(yè)務(wù)流程處理過(guò)程交給模型層處理。

控制層(Controller)完成的是從用戶獲取請(qǐng)求操作,負(fù)責(zé)模型與視圖建立聯(lián)系,共同完成用戶請(qǐng)求操作。它屬于控制調(diào)度層,它負(fù)責(zé)清楚地告訴程序員,它完全是控制轉(zhuǎn)發(fā)器,選擇哪種模型,就負(fù)責(zé)處理哪種視圖,也就完成哪種用戶請(qǐng)求。在MVC設(shè)計(jì)模式中,控制層并不需要做任何的業(yè)務(wù)數(shù)據(jù)處理。當(dāng)用戶點(diǎn)擊某個(gè)功能連接時(shí),控制層接受來(lái)自用戶的請(qǐng)求之后,并不需要處理業(yè)務(wù)數(shù)據(jù),它只負(fù)責(zé)找到相匹配的模型的函數(shù),并將參數(shù)傳遞該模型車(chē)的函數(shù),并告訴應(yīng)該做什么,當(dāng)模型層處理完畢業(yè)務(wù)數(shù)據(jù)控制層接收來(lái)自于模型層的處理結(jié)果,并把符合要求的處理結(jié)果返回到視圖層為用戶顯示。因此,模型層與視圖層是一對(duì)多的關(guān)系。

在MVC設(shè)計(jì)思想中的核心是業(yè)務(wù)功能模型的設(shè)計(jì)。業(yè)務(wù)模型層設(shè)計(jì)過(guò)程中數(shù)據(jù)模型。數(shù)據(jù)模型主要完成數(shù)據(jù)持久化操作,是指實(shí)體對(duì)象與表字段一一映射關(guān)系。例如:將淘寶訂單數(shù)據(jù)保存到系統(tǒng)的數(shù)據(jù)庫(kù)中,或者從系統(tǒng)的數(shù)據(jù)庫(kù)獲取淘寶訂單數(shù)據(jù)。可以將此模型單獨(dú)羅列,全部的數(shù)據(jù)庫(kù)操作僅僅限于該模型中,為用戶提供相關(guān)服務(wù)。

2.2 基于MVC設(shè)計(jì)模式開(kāi)發(fā)應(yīng)用系統(tǒng)的優(yōu)點(diǎn)

此前的Web應(yīng)用系統(tǒng)將業(yè)務(wù)數(shù)據(jù)處理與結(jié)果顯示置于同一個(gè)頁(yè)面的編程方式,這種方式使得程序編寫(xiě)與調(diào)試變得麻煩,而基于MVC設(shè)計(jì)模式實(shí)現(xiàn)的應(yīng)用系統(tǒng)設(shè)計(jì),具備下列的優(yōu)點(diǎn):

(1)模型層與視圖層是一對(duì)多的關(guān)系。一個(gè)模型與多個(gè)視圖建立聯(lián)系。可以確保全部相關(guān)的視圖及時(shí)獲得來(lái)自于模型層數(shù)據(jù)的變化,使得全部相關(guān)的視圖與控制層實(shí)現(xiàn)操作同步。

(2)視圖與控制器實(shí)現(xiàn)靈活對(duì)接,允許新修改視圖與控制層之間關(guān)聯(lián)的業(yè)務(wù)數(shù)據(jù),而且重要的是可以實(shí)現(xiàn)需求動(dòng)態(tài)更改相互的關(guān)聯(lián),例如:打開(kāi)、修改或者關(guān)閉等操作。

(3)模型的可移植性與可重用性。因?yàn)槟P褪仟?dú)立于視圖的,所以可以把一個(gè)模型獨(dú)立地移植到新的平臺(tái)工作。需要做的只是在新平臺(tái)上對(duì)視圖和控制器進(jìn)行新的修改。

(4)使用MVC設(shè)計(jì)思想的應(yīng)用系統(tǒng)具有清晰的軟件結(jié)構(gòu)。大多數(shù)應(yīng)用系統(tǒng)都可以實(shí)現(xiàn)的MVC三層架構(gòu)設(shè)計(jì),正因如此,方便基于此設(shè)計(jì)模式建立一種可以通用框架結(jié)構(gòu),不局限于視圖設(shè)計(jì)過(guò)程中,而且還可以用在系統(tǒng)總體布局或者局部功能設(shè)計(jì)。

(5)便于應(yīng)用系統(tǒng)規(guī)劃管理。在MVC架構(gòu)設(shè)計(jì)中,由于不同層職責(zé)不同,每層具體應(yīng)用又存在相似的特征,便于應(yīng)用系統(tǒng)規(guī)劃管理、管理程序代碼,極大提高應(yīng)用系統(tǒng)編程效率。

(6)有利于應(yīng)用系統(tǒng)的功能擴(kuò)展與維護(hù)操作。一個(gè)應(yīng)用系統(tǒng)被設(shè)計(jì)為3層架構(gòu)模式,有時(shí)改變某層需求就能滿足用戶。例如:某個(gè)應(yīng)用系統(tǒng)的業(yè)務(wù)流程設(shè)計(jì)或者業(yè)務(wù)規(guī)則定義的改變只需修改MVC結(jié)構(gòu)中的模型層即可。

3 基于MVC的Web應(yīng)用系統(tǒng)的設(shè)計(jì)

根據(jù)MVC的基本設(shè)計(jì),基于MVC實(shí)現(xiàn)的應(yīng)用系統(tǒng)設(shè)計(jì)首先要獲取系統(tǒng)應(yīng)用的需求,設(shè)計(jì)應(yīng)用系統(tǒng)的MVC結(jié)構(gòu),即將其按照系統(tǒng)功能設(shè)計(jì)MVC的三層結(jié)構(gòu),前提需要充分了解系統(tǒng)的全部需求。這里所闡述的應(yīng)用系統(tǒng)實(shí)例是本人日常工作中所負(fù)責(zé)軟件項(xiàng)目部分—隨書(shū)光盤(pán)發(fā)布應(yīng)用系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)。設(shè)計(jì)該系統(tǒng)的目的完成非圖書(shū)資源在高校內(nèi)的發(fā)布情況,以方便廣大師生借閱使用。

3.1 應(yīng)用系統(tǒng)的需求分析

通過(guò)對(duì)高校很多師生及系統(tǒng)的管理人員的需求展開(kāi)調(diào)查分析,并總結(jié)出光盤(pán)發(fā)布應(yīng)用系統(tǒng)主要功能功能包括:

(1)前臺(tái)業(yè)務(wù)管理功能。為高校很多師生提供業(yè)務(wù)服務(wù)功能,主要有圖書(shū)檢索、電子資料下載、某些特殊資源開(kāi)放申請(qǐng)功能以及師生留言等功能。

(2)后臺(tái)綜合業(yè)務(wù)管理功能。該功能是系統(tǒng)管理員實(shí)現(xiàn)管理、發(fā)布某些資源提供便利的渠道。主要包括:發(fā)布與更新電子資料功能、不定期的電子數(shù)據(jù)批量導(dǎo)入功能、處理審核審批功能以及數(shù)據(jù)備份與恢復(fù)操作。

3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)

根據(jù)應(yīng)用系統(tǒng)的功能實(shí)際需求,主要實(shí)體是圖書(shū)表以及光盤(pán)發(fā)布記錄表等等。根據(jù)數(shù)據(jù)庫(kù)設(shè)計(jì)原理獲取表的概念模型,因此,圖書(shū)表(book)轉(zhuǎn)換的對(duì)應(yīng)關(guān)系主要包括:bookID(圖書(shū)序號(hào))、bookName(圖書(shū)名稱)、bookType(圖書(shū)分類(lèi)信息)、bookT(中英文對(duì)照)、bookD(是否具有電子資源)、bookask(圖發(fā)布申請(qǐng)字段)等。

3.3 構(gòu)建基于MVC設(shè)計(jì)模式的系統(tǒng)模型

根據(jù)MVC設(shè)計(jì)模式,使用數(shù)學(xué)參考模型表示MVC設(shè)計(jì)實(shí)現(xiàn)的應(yīng)用系統(tǒng):

A表示應(yīng)用系統(tǒng)的簡(jiǎn)稱,M、V、C分別MVC設(shè)計(jì)模式中的三層結(jié)構(gòu),R表示用戶請(qǐng)求列表,正是,根據(jù)該數(shù)學(xué)參考模型,最后將確定的光盤(pán)發(fā)布應(yīng)用系統(tǒng)的全部功能進(jìn)行劃分層次。

(1)系統(tǒng)將直接與用戶交互的模塊劃分到視圖層V列表中。

(2)把數(shù)據(jù)庫(kù)邏輯處理部分劃分到模型層M列表中,把數(shù)據(jù)庫(kù)的建立連接管理、數(shù)據(jù)檢索功能(包含:目錄分類(lèi)檢索、初步數(shù)據(jù)檢索、高級(jí)數(shù)據(jù)檢索)以及數(shù)據(jù)更新操作管理(發(fā)布與更新電子資料功能、不定期的電子數(shù)據(jù)批量導(dǎo)入功能、處理審核審批功能以及數(shù)據(jù)備份與恢復(fù)操作)劃分到模型層M列表中。

(3)來(lái)自于用戶請(qǐng)求處理并調(diào)用對(duì)應(yīng)業(yè)務(wù)邏輯關(guān)系,并將業(yè)務(wù)處理結(jié)果返回視圖層為用戶頁(yè)面顯示,負(fù)責(zé)收集處理結(jié)果和控制轉(zhuǎn)發(fā)由控制層實(shí)現(xiàn)。

4 基于MVC設(shè)計(jì)模式的Web應(yīng)用系統(tǒng)的實(shí)現(xiàn)

建立應(yīng)用系統(tǒng)的MVC設(shè)計(jì)模式之后,方可選擇適用的開(kāi)發(fā)工具實(shí)現(xiàn)系統(tǒng)的開(kāi)發(fā)工作。本文根據(jù)實(shí)際情況選擇了JSP技術(shù)、Servlet技術(shù)和JavaBeans技術(shù)的結(jié)合。

4.1 實(shí)現(xiàn)應(yīng)用系統(tǒng)的技術(shù)組合

JSP技術(shù)、Servlet技術(shù)和JavaBeans技術(shù)的結(jié)合是MVC設(shè)計(jì)模式的經(jīng)典應(yīng)用,三者的結(jié)合可以更好地實(shí)現(xiàn)MVC設(shè)計(jì)模型的應(yīng)用系統(tǒng)。

(1)應(yīng)用系統(tǒng)的模型層。它是由JavaBean對(duì)象組件完成,并將業(yè)務(wù)數(shù)據(jù)封裝到其中。

(2)應(yīng)用系統(tǒng)的視圖層。它是由JSP技術(shù)負(fù)責(zé)實(shí)現(xiàn)頁(yè)面數(shù)據(jù)的顯示功能。

(3)應(yīng)用系統(tǒng)的控制層。它是由Servlets技術(shù)接受來(lái)自于用戶輸入請(qǐng)求以及某個(gè)操作的提交,并根據(jù)相應(yīng)的請(qǐng)求操作,調(diào)用相應(yīng)業(yè)務(wù)邏輯處理組件,并收集處理結(jié)果轉(zhuǎn)發(fā)給相應(yīng)的視圖層頁(yè)面顯示。

4.2 實(shí)現(xiàn)Web應(yīng)用系統(tǒng)

上述已經(jīng)對(duì)光盤(pán)發(fā)布應(yīng)用系統(tǒng)的技術(shù)架構(gòu)分析、功能需求分析以及數(shù)據(jù)庫(kù)結(jié)構(gòu)分析,而三種技術(shù)的組合更好的完成了MVC設(shè)計(jì)思想。為此,三種技術(shù)的結(jié)合有效的完成映射操作。將應(yīng)用系統(tǒng)模型層的各種業(yè)務(wù)處理邏輯通過(guò)使用JavaBeans對(duì)象組件實(shí)現(xiàn),本文實(shí)現(xiàn)的應(yīng)用系統(tǒng)的數(shù)據(jù)庫(kù)采用SQL2005管理技術(shù);視圖層采用JSP技術(shù)每個(gè)功能界面;同時(shí)控制層的編寫(xiě)通過(guò)Servlets控制器實(shí)現(xiàn)接受請(qǐng)求和處理結(jié)果的轉(zhuǎn)發(fā)操作:在應(yīng)用系統(tǒng)的實(shí)現(xiàn)過(guò)程中,使用JS作為前端判斷技術(shù),用于表單字段的判斷及數(shù)據(jù)輸入的標(biāo)準(zhǔn)性判斷。

5 本文結(jié)論與未來(lái)研究方向

基于MVC設(shè)計(jì)模式開(kāi)發(fā)實(shí)現(xiàn)的光盤(pán)發(fā)布應(yīng)用系統(tǒng),由于其應(yīng)用到MVC設(shè)計(jì)模式存在的優(yōu)勢(shì),應(yīng)用系統(tǒng)中持久層、模型層、業(yè)務(wù)處理層與顯示層有效分離,好處是:一是在開(kāi)發(fā)過(guò)程中,便于多人協(xié)作編碼,又便于系統(tǒng)的設(shè)計(jì)文檔編寫(xiě)工作,提高多人共同開(kāi)發(fā)的效率;二是應(yīng)用系統(tǒng)上線運(yùn)行之后的升級(jí)維護(hù)操作必不可少,用戶希望與應(yīng)用系統(tǒng)之間保持交互操作順暢,對(duì)應(yīng)用系統(tǒng)的功能擴(kuò)展與維護(hù)變得簡(jiǎn)單可行。基于MVC設(shè)計(jì)的應(yīng)用系統(tǒng)正被更多的人使用,如果時(shí)一種通用設(shè)計(jì)框架,為開(kāi)發(fā)者帶來(lái)更多的開(kāi)發(fā)便利,提高應(yīng)用系統(tǒng)的代碼可重用性提供了新的契機(jī)。

[1]宋國(guó)慶.軟件開(kāi)發(fā)綜合訓(xùn)練教程基于JavaWeb應(yīng)用[M].北京:高等教育出版社,2008

[2]王映輝,王英杰,王彥君,等.基于MVC的軟件界面體系結(jié)構(gòu)研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,2004(9):188-199

[3]孫衛(wèi)琴.精通Struts:基于MVC的JavaWeb設(shè)計(jì)與開(kāi)發(fā)[M].北京:電子工業(yè)出版社,2004

[4]劉春花,王忠民.基于MVC模式的遠(yuǎn)程評(píng)議系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(13):3648

[5]王曉楠.MVC的設(shè)計(jì)和實(shí)現(xiàn)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2004(3):56-58

猜你喜歡
用戶功能模型
一半模型
也談詩(shī)的“功能”
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
關(guān)于非首都功能疏解的幾點(diǎn)思考
關(guān)注用戶
3D打印中的模型分割與打包
關(guān)注用戶
關(guān)注用戶
如何獲取一億海外用戶
主站蜘蛛池模板: 青青青视频91在线 | 婷婷综合缴情亚洲五月伊| 又爽又黄又无遮挡网站| 日本一区二区不卡视频| 99热免费在线| 色噜噜久久| 亚洲va精品中文字幕| 久久中文电影| 久久精品66| 日本免费新一区视频| 毛片基地视频| 午夜老司机永久免费看片| 91在线播放免费不卡无毒| 国产99热| 亚洲天堂视频在线观看免费| 国产一在线| 狠狠综合久久久久综| 有专无码视频| 国产成人精品一区二区免费看京| 成人午夜网址| 亚洲中文久久精品无玛| 中文无码毛片又爽又刺激| 成人在线观看不卡| 在线欧美一区| 亚洲日韩精品伊甸| 欧美激情视频在线观看一区| 色综合国产| av色爱 天堂网| 欧美高清三区| 国产成人亚洲精品蜜芽影院| 午夜视频免费一区二区在线看| 成人福利在线看| 国产精品专区第1页| 国产精品成人一区二区| 欧美在线网| 国产00高中生在线播放| 国产成人亚洲综合A∨在线播放| 国产后式a一视频| 免费人成视网站在线不卡| 激情六月丁香婷婷四房播| 国产亚洲视频中文字幕视频| 日本道综合一本久久久88| 91破解版在线亚洲| 国产日韩欧美成人| 国产尹人香蕉综合在线电影| 性欧美在线| 亚洲精品无码专区在线观看| 欧美性天天| 欧美一区二区三区不卡免费| 精品欧美日韩国产日漫一区不卡| 91久久国产成人免费观看| 久久不卡国产精品无码| 最新加勒比隔壁人妻| 噜噜噜久久| 亚洲a级在线观看| 亚洲日本精品一区二区| 在线观看免费人成视频色快速| 亚洲国产精品一区二区第一页免| 99中文字幕亚洲一区二区| 国产欧美另类| 久久久久久久蜜桃| 一区二区三区高清视频国产女人| 国产精品第一区在线观看| 国产一区二区丝袜高跟鞋| 亚洲国产成人精品无码区性色| 一级不卡毛片| 毛片手机在线看| а∨天堂一区中文字幕| 亚洲色欲色欲www在线观看| 欧美午夜一区| 成年A级毛片| 2021国产精品自产拍在线| 国产一区二区精品高清在线观看 | 久热99这里只有精品视频6| 天堂中文在线资源| 精品伊人久久久久7777人| 国产精品手机在线观看你懂的 | 免费人欧美成又黄又爽的视频| 视频一区视频二区日韩专区| 无码中字出轨中文人妻中文中| 亚洲视频三级| 怡红院美国分院一区二区|