国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

MVC設(shè)計(jì)模式與Struts架構(gòu)的研究

2013-04-29 20:20錢(qián)潔萍

錢(qián)潔萍

摘 要:MVC核心思想是將整個(gè)程序代碼分成相對(duì)獨(dú)立而又能協(xié)同工作的三個(gè)組成部分。采用三層軟件設(shè)計(jì)架構(gòu)后,軟件系統(tǒng)在可擴(kuò)展性、可復(fù)用性和安全性方面得到極大提高。Struts所采用的是MVC模式,通過(guò)這種模式能夠很好的幫助JAVA開(kāi)發(fā)者們利用J2EE開(kāi)發(fā)Web的應(yīng)用。按照struts構(gòu)架的web應(yīng)用程序是一個(gè)傳統(tǒng)MVC設(shè)計(jì)模式的一種變化類(lèi)型。

關(guān)鍵詞:MVC模式 Struts架構(gòu) 業(yè)務(wù)邏輯

中圖分類(lèi)號(hào):TP3 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1673-9795(2013)03(a)-0204-01

隨著Internet技術(shù)的廣泛使用,Web也越來(lái)越受到廣泛的應(yīng)用,其規(guī)模也發(fā)展的越來(lái)越大,這使得開(kāi)發(fā)人員所意識(shí)到了:如今使用Web的領(lǐng)域越來(lái)越多,而動(dòng)態(tài)Web在應(yīng)用時(shí)維護(hù)成本也逐漸變大,只是單純的使用ASP或者JSP來(lái)充當(dāng)頁(yè)面中的大多角色,這對(duì)于后期的維護(hù)是相當(dāng)不利的。開(kāi)發(fā)人員在開(kāi)始應(yīng)用Web模式時(shí)使用的是一種叫MVC的模式,采用一種優(yōu)秀的分層思想,力圖解決Web應(yīng)用維護(hù)困難的問(wèn)題。引入MVC模式,提供了更好的可擴(kuò)展性及可維護(hù)性,更適用于大規(guī)模應(yīng)用的開(kāi)發(fā),但也增加了前期開(kāi)發(fā)的難度所在。

Struts是MVC的一種實(shí)現(xiàn),它繼承了MVC的各項(xiàng)特性,并根據(jù)J2EE的特點(diǎn),做了相應(yīng)的變化與擴(kuò)展。Struts架構(gòu)有自己的控制器,同時(shí)整合了其他的一些技術(shù)去實(shí)現(xiàn)模型層和視圖層。Struts為每個(gè)專(zhuān)業(yè)的Web 應(yīng)用程序做背后的支撐,為應(yīng)用創(chuàng)建一個(gè)擴(kuò)展的開(kāi)發(fā)環(huán)境。

1 MVC模式設(shè)計(jì)思想

MVC思想將一個(gè)應(yīng)用分為三個(gè)部分:Model(模型)、View(視圖)和Controller(控制器),這三部分以最少的耦合協(xié)同工作,從而提高應(yīng)用的可擴(kuò)展性及可維護(hù)性。在MVC模式中,控制器根據(jù)事件的類(lèi)型改變模型或視圖,反之亦然。多個(gè)視圖注冊(cè)到同一個(gè)模型,每一個(gè)模型對(duì)應(yīng)一系列的視圖列表,當(dāng)模型發(fā)生變化時(shí),模型向所有注冊(cè)過(guò)的視圖發(fā)出通知,視圖從相應(yīng)的模型中獲取信息,并更新視圖顯示。

2 MVC模式結(jié)構(gòu)

MVC強(qiáng)制性地使應(yīng)用程序的輸入、處理和輸出分開(kāi),應(yīng)用程序被分成三個(gè)核心部件,它們各司其職。視圖、模型、控制器。如圖1所示,描述了三者之間的關(guān)系。

3 MVC模式實(shí)現(xiàn)

實(shí)現(xiàn)基于MVC的實(shí)際應(yīng)用需要注意以下幾方面工作:第一,具體分析應(yīng)用問(wèn)題,并對(duì)系統(tǒng)進(jìn)行全面的分離。將分離出來(lái)三大部分,分別是內(nèi)核功能、對(duì)功能的控制輸入以及系統(tǒng)的輸出行為。第二,構(gòu)造和實(shí)現(xiàn)每個(gè)控制器??刂破鞯某跏蓟⑵鹋c模型和視圖相聯(lián)系,最終啟動(dòng)事件處理機(jī)制。而事件的處理機(jī)制是依賴(lài)于界面的工作平臺(tái)來(lái)實(shí)現(xiàn)的。第三,通過(guò)使用能夠安裝及卸載的控制器,容易形成高度的靈活性的應(yīng)用??刂破髋c視圖的分離,做到了視圖與不同的控制器相結(jié)合的靈活性,從而實(shí)現(xiàn)了不同的操作模式。

4 MVC模式優(yōu)缺點(diǎn)

MVC模式優(yōu)點(diǎn):(1)松耦合。(2)重用性高。(3)產(chǎn)品的結(jié)構(gòu)清晰。

MVC模式不足:(1)增加了系統(tǒng)結(jié)構(gòu)和實(shí)現(xiàn)的復(fù)雜性。(2)視圖對(duì)模型數(shù)據(jù)的低效率訪問(wèn)。(3)MVC不適合小型應(yīng)用程序。

5 Struts體系結(jié)構(gòu)與工作原理

Struts為Web應(yīng)用提供了一個(gè)通用框架,并提供了許多供擴(kuò)展和定制的地方,應(yīng)用程序可方便地?cái)U(kuò)展框架以更好地適應(yīng)用戶(hù)的實(shí)際需求。框架中分為:模型,視窗和控制器三大部分。模型指的是:系統(tǒng)的內(nèi)部狀態(tài)和可以將其改變的狀態(tài)的操作(又名:事物邏輯)。視窗指的是:Struts中包含擴(kuò)展自定義的標(biāo)簽庫(kù),從而可以簡(jiǎn)化并創(chuàng)建完全國(guó)際化用戶(hù)界面的全過(guò)程。控制器指的是:在Struts中基本的控制器組件是ActionServlet中的實(shí)例servlet,在實(shí)際使用的servlet的配置文件中由一組映射進(jìn)行定義。Struts體系結(jié)構(gòu)與工作原理如圖2所示。

6 Struts架構(gòu)特點(diǎn)

靈活應(yīng)用Struts的標(biāo)簽庫(kù)就能大大提高開(kāi)發(fā)效率,在JSP中用戶(hù)也能自定義標(biāo)簽。頁(yè)面導(dǎo)航使系統(tǒng)脈絡(luò)更加清晰,通過(guò)配置文件掌握整個(gè)系統(tǒng)各部分之間的聯(lián)系,對(duì)于后期維護(hù)極為有利,維護(hù)擴(kuò)展方便的優(yōu)勢(shì)體現(xiàn)明顯。表現(xiàn)與邏輯分離,便于團(tuán)隊(duì)開(kāi)發(fā)。

7 結(jié)語(yǔ)

采用MVC設(shè)計(jì)模式可以在滿(mǎn)足對(duì)界面要求的同時(shí),使軟件的計(jì)算模型獨(dú)立于界面的構(gòu)成。本文介紹了MVC的三個(gè)組成構(gòu)件(模型、視圖和控制器),以及實(shí)現(xiàn)基于MVC的應(yīng)用需要完成的工作并對(duì)MVC的優(yōu)點(diǎn)及不足之處進(jìn)行了分析。Struts采用MVC模式,面向?qū)ο笤O(shè)計(jì),能夠很好地幫助java開(kāi)發(fā)者利用J2EE開(kāi)發(fā)Web應(yīng)用。Structs框架的核心是一個(gè)彈性的控制層,同時(shí)整合了其他的一些技術(shù)去實(shí)現(xiàn)模型層(Model)和視圖層(View)。Struts將MVC模式“分離顯示邏輯和業(yè)務(wù)邏輯”的能力發(fā)揮得淋漓盡致。

參考文獻(xiàn)

[1] 楊曉軍.MVCWeb開(kāi)發(fā)學(xué)習(xí)實(shí)錄[M].清華大學(xué)出版社,2011,7.

[2] 李剛.Struts 2.1權(quán)威指南—— 基于WebWork核心的MVC開(kāi)發(fā)[M].電子工業(yè)出版社,2009,5.