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

淺議MVC設(shè)計(jì)模式在JavaWeb中的作用

2018-10-21 15:07:05張雪敏
科技風(fēng) 2018年22期

摘要:隨著互聯(lián)網(wǎng)的發(fā)展,基于B/S結(jié)構(gòu)的Web開(kāi)發(fā)技術(shù)的不斷推廣和應(yīng)用,MVC設(shè)計(jì)模式在JavaWeb開(kāi)發(fā)中的應(yīng)用越來(lái)越廣泛和成熟,本文從宏觀的角度討論了MVC設(shè)計(jì)模式在JavaWeb開(kāi)發(fā)三層架構(gòu)和開(kāi)發(fā)框架中的影響,強(qiáng)調(diào)了MVC通過(guò)分層設(shè)計(jì)的理念,實(shí)現(xiàn)了分層解耦、代碼復(fù)用,更方便維護(hù)和測(cè)試軟件系統(tǒng)的目的。

關(guān)鍵詞:MVC設(shè)計(jì)模式;javaWEB三層架構(gòu);javaWEB框架

隨著Web頁(yè)面在Internet上的普及,基于B/S架構(gòu)的Web開(kāi)發(fā)技術(shù)也越來(lái)越成熟,其中基于MVC設(shè)計(jì)模式的JavaWeb的開(kāi)發(fā)技術(shù)發(fā)展迅速,應(yīng)用也最為廣泛。下面對(duì)MVC設(shè)計(jì)模式在JavaWeb開(kāi)發(fā)中的影響和作用進(jìn)行淺顯的探討。

1 設(shè)計(jì)模式的概念

設(shè)計(jì)模式:對(duì)于一類重復(fù)出現(xiàn)的問(wèn)題的一種可以重用的解決方案;[1]在軟件開(kāi)發(fā)中應(yīng)用設(shè)計(jì)模式的思想可以提供解決重復(fù)出現(xiàn)的相同或相似問(wèn)題的思路和方案,從而減少重復(fù)的工作和加快開(kāi)發(fā)的速度。

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

MVC設(shè)計(jì)模式簡(jiǎn)介:MVC設(shè)計(jì)模式是軟件工程中的一種軟件架構(gòu)模式,把軟件系統(tǒng)從邏輯上抽象成三個(gè)基本部分:模型(Model)、視圖(View)和控制器(Controller),簡(jiǎn)稱MVC。它是一種軟件設(shè)計(jì)的典范,最早為T(mén)rygve Reenskaug提出,為施樂(lè)帕羅奧多研究中心(Xerox PARC)的Smalltalk語(yǔ)言發(fā)明的一種軟件設(shè)計(jì)模式。[2]

2.1 MVC的功能作用

MVC通過(guò)分層設(shè)計(jì)的理念,將業(yè)務(wù)流程進(jìn)行邏輯上的歸類和分工,從而使處理流程清晰,達(dá)到了分層解耦、代碼復(fù)用,更方便維護(hù)和測(cè)試軟件系統(tǒng)的目的。[3]

2.2 MVC具體執(zhí)行過(guò)程

(1)用戶發(fā)送請(qǐng)求控制器;

(2)控制處理用戶請(qǐng)求,調(diào)用業(yè)務(wù)相關(guān)模型處理數(shù)據(jù);

(3)業(yè)務(wù)調(diào)用數(shù)據(jù)訪問(wèn)模型,驗(yàn)證請(qǐng)求的內(nèi)容是否成功,如果成功則封裝到數(shù)據(jù)模型中;

(4)數(shù)據(jù)訪問(wèn)模型到數(shù)據(jù)庫(kù)中檢索并操作數(shù)據(jù)。

3 MVC與JavaWeb的三層架構(gòu)

3.1 JavaWeb開(kāi)發(fā)中的三層架構(gòu)思想

JAVA三層架構(gòu)主要是指邏輯上劃分的三層:表示層(UI)、業(yè)務(wù)邏輯層(BLL)、數(shù)據(jù)訪問(wèn)層(DAL)。如圖2所示,其中實(shí)體層獨(dú)立于其他層,僅供其他層次進(jìn)行引用。

下面簡(jiǎn)要說(shuō)明一下JavaWeb三層架構(gòu)中每一層的功能:

(1)表示層或用戶界面層(User interface):展現(xiàn)給用戶的最終界面;

(2)業(yè)務(wù)邏輯層(Business Logic Layer):對(duì)具體事務(wù)的業(yè)務(wù)邏輯操作,主要是對(duì)數(shù)據(jù)業(yè)務(wù)的邏輯處理;

(3)數(shù)據(jù)訪問(wèn)層(Data Access Layer):封裝了對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)細(xì)節(jié),為表示層或業(yè)務(wù)邏輯層提供數(shù)據(jù)服務(wù)。

3.2 MVC和JavaWeb三層架構(gòu)的關(guān)系

三層架構(gòu)是軟件工程中的宏觀設(shè)計(jì),MVC是三層架構(gòu)上具體實(shí)現(xiàn)的一種設(shè)計(jì)思想,再根據(jù)MVC的設(shè)計(jì)思想將不同作用的代碼進(jìn)行分類歸納,從而來(lái)具體實(shí)現(xiàn)軟件項(xiàng)目工程。[4]

通過(guò)圖3、圖4的展現(xiàn),可以清晰的理解MVC和JavaWeb三層架構(gòu)之間的關(guān)系。

4 MVC在JavaWeb框架中的應(yīng)用

MVC模式被廣泛用于Java的各種框架中,如Struts、Spring、Hibernate、Spring MVC、Mybatis等等,都用到了這種思想。JavaWeb開(kāi)發(fā)框架是MVC設(shè)計(jì)模式思想從抽象到具體功能代碼實(shí)現(xiàn)的高效集成化組件集。[5]

4.1 常用JavaWeb框架簡(jiǎn)介

JavaWeb框架種類較多,下面列舉常用的框架來(lái)簡(jiǎn)要說(shuō)明:

4.1.1 Strust1

Struts1框架是一個(gè)實(shí)現(xiàn)了MVC模式的應(yīng)用程序框架,它定義了通用的控制器(Controller),通過(guò)配置文件strutsconfig.xml隔離模型Model和視圖View,以Action的概念對(duì)用戶請(qǐng)求做了封裝,同時(shí)還提供了自動(dòng)將請(qǐng)求的數(shù)據(jù)填充到對(duì)象中以及頁(yè)面標(biāo)簽等簡(jiǎn)化編碼的工具。

4.1.2 Strust2

Struts2是基于MVC的輕量級(jí)的web應(yīng)用框架。基于MVC,說(shuō)明基于Struts2開(kāi)發(fā)的Web應(yīng)用自然就能實(shí)現(xiàn)MVC,也說(shuō)明Struts2著力于在MVC的各個(gè)部分為我們的開(kāi)發(fā)提供相應(yīng)幫助。

Struts2是一個(gè)基于MVC設(shè)計(jì)模式的Web應(yīng)用框架,它本質(zhì)上相當(dāng)于一個(gè)servlet,在MVC設(shè)計(jì)模式中,Struts2作為控制器(Controller)來(lái)建立模型與視圖的數(shù)據(jù)交互。[6]Struts 2是Struts的下一代產(chǎn)品,是在 struts 1和WebWork的技術(shù)基礎(chǔ)上進(jìn)行了合并的全新的Struts 2框架。其全新的Struts 2的體系結(jié)構(gòu)與Struts 1的體系結(jié)構(gòu)差別巨大。Struts 2以WebWork為核心,采用攔截器的機(jī)制來(lái)處理用戶的請(qǐng)求,這樣的設(shè)計(jì)也使得業(yè)務(wù)邏輯控制器能夠與ServletAPI完全脫離開(kāi),所以Struts 2可以理解為WebWork的更新產(chǎn)品。雖然從Struts 1到Struts 2有著太大的變化,但是相對(duì)于WebWork,Struts 2的變化很小。

4.1.3 Spring

Spring 框架是一個(gè)分層架構(gòu),由 7 個(gè)定義良好的模塊組成。Spring 模塊構(gòu)建在核心容器之上,核心容器定義了創(chuàng)建、配置和管理 bean 的方式,組成 Spring 框架的每個(gè)模塊(或組件)都可以單獨(dú)存在,或者與其他一個(gè)或多個(gè)模塊聯(lián)合實(shí)現(xiàn)。[7]

4.2 MVC模式的Java主流框架整合簡(jiǎn)介

為了更好的實(shí)現(xiàn)MVC設(shè)計(jì)模式的分層思想,適應(yīng)不同軟件開(kāi)發(fā)的具體情況,建立框架結(jié)構(gòu)清晰、代碼低耦合高內(nèi)聚的軟件系統(tǒng)成為了業(yè)內(nèi)追求的目標(biāo),為了更好的達(dá)成這個(gè)目標(biāo)推出了Java框架整合技術(shù)。[11]下面以主流的框架整合技術(shù)作簡(jiǎn)要說(shuō)明。

最初是Struts+ Spring + Hibernate,接著演變?yōu)镾truts2 + Spring + Hibernate,后來(lái)隨著Spring的強(qiáng)大以及Struts框架上的漏洞等問(wèn)題,演變成為了Spring + SpringMVC + Hibernate/Mybatis。上述幾種框架整合方案中都實(shí)現(xiàn)了視圖層、控制層、模型層的應(yīng)用程序分層功能,Struts/Struts2/SpringMVC負(fù)責(zé)視圖層,Spring框架負(fù)責(zé)控制層并整合其他框架,Hibernate/Mybatis框架負(fù)責(zé)模型層的數(shù)據(jù)操作功能,三大框架通過(guò)不的搭配方式都實(shí)現(xiàn)了MVC設(shè)計(jì)模式的低耦合、易維護(hù)和可擴(kuò)展的分層思想。

5 結(jié)語(yǔ)

本文從抽象和宏觀的角度討論了MVC設(shè)計(jì)模式在JavaWeb開(kāi)發(fā)中的影響和作用。從設(shè)計(jì)模式的概念談起,引入MVC設(shè)計(jì)模式的概念、功能作用和執(zhí)行過(guò)程,進(jìn)而探討了MVC設(shè)計(jì)模式思想在JavaWeb三層架構(gòu)中的作用,在Java框架中具體應(yīng)用的影響和滲透,從而實(shí)現(xiàn)了MVC設(shè)計(jì)模式分層設(shè)計(jì)的低耦合、高內(nèi)聚、易維護(hù)和可擴(kuò)展的核心思想。

參考文獻(xiàn):

[1]鐘茂生,王明文.軟件設(shè)計(jì)模式及其使用[J].計(jì)算機(jī)應(yīng)用,2002(08):3235.

[2]任中方,張華,閆明松,陳世福.MVC模式研究的綜述[J].計(jì)算機(jī)應(yīng)用研究,2004(10):14+8.

[3]陳業(yè)恩.基于MVC模式的Web軟件系統(tǒng)開(kāi)發(fā)框架設(shè)計(jì)與實(shí)現(xiàn)[J].信息系統(tǒng)工程,2015(06):37.

[4]陳輝.軟件工程中的解耦核心技術(shù)MVC和三層架構(gòu)比較[J].廊坊師范學(xué)院學(xué)報(bào)(自然科學(xué)版),2014,14(04):4446.

[5]孫亞志.淺談Java web技術(shù)structs2框架的MVC模式[J].數(shù)字技術(shù)與應(yīng)用,2013(05):208.

[6]耿偉,劉振海,孫磊.Struts2框架技術(shù)的研究與分析[J].電腦知識(shí)與技術(shù),2008(33):13121313+1317.

[7]張宇,王映輝,張翔南.基于Spring的MVC框架設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2010,36(04):5962.

[8]吳茂昌,陽(yáng)玉琴.基于MVC模式的Java主流框架整合技術(shù)研究[J].計(jì)算機(jī)與數(shù)字工程,2009,37(10):9193+111.

作者簡(jiǎn)介:張雪敏(1981),男,漢族,江蘇蘇州人,在職研究生在讀,講師,研究方向?yàn)橛?jì)算機(jī)軟件開(kāi)發(fā)。

主站蜘蛛池模板: 免费国产高清精品一区在线| 久久精品无码中文字幕| 国产免费精彩视频| 日本亚洲最大的色成网站www| 成人午夜天| 亚洲欧美h| 欧美成人看片一区二区三区 | 日韩美毛片| 极品国产在线| 四虎国产在线观看| 国产好痛疼轻点好爽的视频| 亚洲日本中文字幕天堂网| 在线观看91精品国产剧情免费| 大乳丰满人妻中文字幕日本| 久久国产乱子| 国产欧美精品一区aⅴ影院| 国产主播一区二区三区| 亚洲动漫h| 欧洲亚洲欧美国产日本高清| 国产高清色视频免费看的网址| 中美日韩在线网免费毛片视频| 国产尤物视频在线| 国产99免费视频| 免费xxxxx在线观看网站| 久久亚洲国产最新网站| 九九热在线视频| 亚洲综合狠狠| 国产浮力第一页永久地址| 青青草一区| 日本AⅤ精品一区二区三区日| 国产91色| 在线亚洲小视频| 国产精品永久不卡免费视频| 一区二区理伦视频| 一级全免费视频播放| 亚洲成人在线免费观看| 丰满人妻一区二区三区视频| 国产成人福利在线视老湿机| 91在线中文| 71pao成人国产永久免费视频| 国产在线视频二区| 啪啪免费视频一区二区| 思思热精品在线8| 最新国产午夜精品视频成人| 就去色综合| 亚洲第一成年网| 中文字幕中文字字幕码一二区| 欧美日韩午夜| 无码高清专区| 伊人久久婷婷| 国产理论一区| 欧美日韩午夜| 亚洲成a人片| 色香蕉影院| 91视频日本| 中文字幕丝袜一区二区| 成人午夜天| 污污网站在线观看| 午夜国产精品视频黄| 成人免费午间影院在线观看| 亚洲综合天堂网| 天天爽免费视频| 国产成人综合久久| 制服丝袜亚洲| 日本人真淫视频一区二区三区| 伦伦影院精品一区| 一级毛片免费观看不卡视频| 免费av一区二区三区在线| 国产白浆在线| 日韩无码真实干出血视频| 亚洲区欧美区| 91视频国产高清| 免费看av在线网站网址| 丁香婷婷久久| 黄色福利在线| 国产超碰一区二区三区| 一级毛片在线播放免费| 日本三区视频| 青青久视频| 国内精品免费| 欧美一区中文字幕| 国产精品无码久久久久久|