孔穎 孫秀明 范君君
摘 要:作為J2EE應(yīng)用程序開發(fā)當(dāng)中應(yīng)用最為廣泛的一種體系結(jié)構(gòu),MVC模式是能夠?qū)⑦^(guò)去的輸入輸出與處理模式轉(zhuǎn)變成利用圖形進(jìn)行顯示的用戶交互的模型。在J2EE下,MVC模式其層次會(huì)比較高,也涉及到模型層、視圖層以及控制層等的組件設(shè)計(jì),在進(jìn)行開發(fā)的時(shí)候需要綜合這些設(shè)計(jì)問(wèn)題來(lái)對(duì)特定問(wèn)題被驗(yàn)證其相應(yīng)解決方案的描述。
關(guān)鍵詞:軟件開發(fā)框架;MVC模式;J2EE
應(yīng)用軟件其體系能夠?yàn)閼?yīng)軟件的系統(tǒng)進(jìn)行結(jié)構(gòu)、行為以及屬性的高級(jí)抽象的提供,其重點(diǎn)在于風(fēng)格與模式,并且在進(jìn)行應(yīng)用軟件開發(fā)期間,開發(fā)的平臺(tái)也很重要。
1 MVC模式與應(yīng)用軟件開發(fā)框架
所謂模式,即是對(duì)特定類型問(wèn)題進(jìn)行解決的通用方法,需要從特定的問(wèn)題與解決的方案當(dāng)中完成抽象且將其中的公共要素進(jìn)行提煉,從而形成最終的模式。體系結(jié)構(gòu)模式意味著軟件系統(tǒng)其基本結(jié)構(gòu)化的組織圖式,其提供子系統(tǒng)、子系統(tǒng)功能和定義,包括對(duì)于它們存在的關(guān)系具體的規(guī)則與說(shuō)明。軟件體系結(jié)構(gòu)也可以用其來(lái)作為模板,并且作為軟件系統(tǒng)開發(fā)時(shí)候的基本設(shè)計(jì)的決策。相比之下的設(shè)計(jì)模式,它對(duì)用于細(xì)化軟件系統(tǒng)其子系統(tǒng)與組件包括其關(guān)系圖式進(jìn)行提供,其規(guī)模比不上體系結(jié)構(gòu)模式,只是其擁有獨(dú)立的編程語(yǔ)言與風(fēng)格,且能夠?qū)Ω訌?fù)雜的服務(wù)或者是組件的結(jié)構(gòu)進(jìn)行分解,應(yīng)用設(shè)計(jì)模式對(duì)子系統(tǒng)的體系結(jié)構(gòu)影響會(huì)更大。慣用法實(shí)現(xiàn)的是對(duì)于特定的設(shè)計(jì)相關(guān)問(wèn)題的處理,且其具體針對(duì)于某種編程語(yǔ)言,是一種低層模式,它能夠讓利用特定的語(yǔ)言特征來(lái)對(duì)組件其特殊方面或者關(guān)系的描述得到實(shí)現(xiàn)。
所謂框架,其試圖對(duì)部分完整的軟件系統(tǒng)或者子系統(tǒng)進(jìn)行實(shí)例化的說(shuō)明,且其系統(tǒng)與子系統(tǒng)族進(jìn)行了體系結(jié)構(gòu)的定義,也對(duì)它們基本構(gòu)造塊的創(chuàng)建進(jìn)行了提供。應(yīng)用框架等于是對(duì)特定領(lǐng)域其中的共性問(wèn)題進(jìn)行抽取,再將部分抑或是全部都加以實(shí)現(xiàn)。應(yīng)用軟件的開發(fā),對(duì)框架的利用重點(diǎn)在于將系統(tǒng)其業(yè)務(wù)邏輯的設(shè)計(jì)集中精力完成,其也相當(dāng)于是一個(gè)軟件系統(tǒng)的全部或者是部分的可復(fù)用設(shè)計(jì)。從本質(zhì)上來(lái)說(shuō),J2EE同樣屬于框架結(jié)構(gòu),且其被應(yīng)用到了一些特定的領(lǐng)域,從而預(yù)先進(jìn)行了在此領(lǐng)域當(dāng)中不變架構(gòu)的定義,完成對(duì)于領(lǐng)域內(nèi)需要的數(shù)據(jù)操作、事務(wù)要求等,也對(duì)系統(tǒng)的、伸縮性與可拓展性很好的安全解決方案進(jìn)行提供。
MVC模式也就是模型、視圖與控制器這樣的一個(gè)體系結(jié)構(gòu)模式,它順利的將一個(gè)交互式的應(yīng)用程序分成了三個(gè)不同的組件。模型當(dāng)中包括了關(guān)于應(yīng)用問(wèn)題其核心數(shù)據(jù)、計(jì)算功能以及邏輯關(guān)系,并且對(duì)需要的數(shù)據(jù)進(jìn)行封裝,將進(jìn)行問(wèn)題處理要完成的操作過(guò)程實(shí)現(xiàn)提供,并且讓視圖能夠?qū)︼@示數(shù)據(jù)與提供訪問(wèn)數(shù)據(jù)的操作順利獲得。
2 基于MVC模式的應(yīng)用軟件開發(fā)框架
以J2EE作為平臺(tái),進(jìn)行基于MVC模式的應(yīng)用軟件開發(fā)框架的研究,首先需要明確的是,其模型層的作用在于對(duì)商業(yè)數(shù)據(jù)的表達(dá)與訪問(wèn),以及對(duì)于商業(yè)邏輯與操作的執(zhí)行。與此同時(shí),對(duì)其功能函數(shù)的訪問(wèn)可以是控制層進(jìn)行,并且將相關(guān)的任務(wù)完成。至于,視圖層則需要對(duì)模型層的內(nèi)容進(jìn)行顯示,也就是說(shuō)其需要先從模型層得到數(shù)據(jù)之后再指定數(shù)據(jù)顯示的辦法,視圖層的作用還包括對(duì)用戶輸入進(jìn)行傳輸,傳送到控制器。對(duì)應(yīng)用程序其行為的定義是由控制層來(lái)完成的,它還能夠?qū)τ脩舻恼?qǐng)求進(jìn)行分配,再選擇合適的視圖來(lái)進(jìn)行顯示,對(duì)于用戶其輸入可以做到解釋,同時(shí)把它們映射成為模型層的可執(zhí)行操作。當(dāng)利用同樣的軟件開發(fā)平臺(tái)完成一組設(shè)計(jì)模式的組織時(shí),有可能可以做到對(duì)于全部應(yīng)用系統(tǒng)其解決方案的提供。關(guān)于 Model的部分,因?yàn)槟P筒坏珜?yīng)用程序其核心功能包含在內(nèi),且將應(yīng)用程序其狀態(tài)進(jìn)行了封裝,對(duì)于視圖以及控制器可能并無(wú)了解。在基于MVC模式的應(yīng)用軟件開發(fā)框架當(dāng)中,其通常可以分為兩個(gè)部分,一則是與JavaBean相似的實(shí)體對(duì)象,并且和系統(tǒng)當(dāng)中真實(shí)存在的對(duì)象進(jìn)行對(duì)應(yīng),也可能是對(duì)象關(guān)系,二則是關(guān)于處理對(duì)象其商業(yè)邏輯。關(guān)于View的部分,視圖等于是模型的提供,相當(dāng)于應(yīng)用程序其外觀。視圖能夠?qū)δP推渥x方法進(jìn)行訪問(wèn),卻并不能夠?qū)ζ鋵懛椒ㄟM(jìn)行訪問(wèn)。雖然視圖并不了解控制器,但是如果模型被更改了,視圖是需要能夠接收到通知的。在基于MVC模式的應(yīng)用軟件開發(fā)框架當(dāng)中,應(yīng)該對(duì)JSP其重用性進(jìn)行提升,將前期的規(guī)劃做好,并且完成對(duì)于不同驗(yàn)證器的提供來(lái)讓不同用戶的需要都得到滿足。
關(guān)于Controller的部分,作為應(yīng)用系統(tǒng)其對(duì)具體流程以及導(dǎo)向處理的核心存在的控制器,它需要將模型對(duì)象提供的信息進(jìn)行視圖可理解形式的轉(zhuǎn)換,也需要對(duì)系統(tǒng)流程的走向進(jìn)行處理。在基于MVC模式的應(yīng)用軟件開發(fā)框架當(dāng)中,其可以分為兩個(gè)內(nèi)容,一則是關(guān)于應(yīng)用系統(tǒng)其功能模塊,二則是關(guān)于具體功能的操作。關(guān)于Database的部分,對(duì)于應(yīng)用系統(tǒng)而言,數(shù)據(jù)庫(kù)同樣是十分核心的內(nèi)容,并且數(shù)據(jù)庫(kù)其設(shè)計(jì)的合理性對(duì)于程序有著直接的影響。優(yōu)秀的數(shù)據(jù)庫(kù)設(shè)計(jì)需要能夠合理且符合第三范式,其類型要簡(jiǎn)單化,并且只擁有一對(duì)一關(guān)系、主從關(guān)系與多對(duì)多關(guān)系。關(guān)于數(shù)據(jù)庫(kù)其SQL語(yǔ)句的執(zhí)行需要應(yīng)用通用的數(shù)據(jù)庫(kù)操控類,且其語(yǔ)句應(yīng)用使用框架當(dāng)中的定義格式才行。
3 結(jié)束語(yǔ)
在進(jìn)行應(yīng)用軟件開發(fā)的時(shí)候,其軟件開發(fā)平臺(tái)同樣十分重要。以J2EE作為平臺(tái),關(guān)于基于MVC模式的應(yīng)用軟件其開發(fā)框架的研究,其目的也在于對(duì)更通用且功能更強(qiáng)大的應(yīng)用軟件開發(fā)框架的探討。
參考文獻(xiàn):
[1]許鑫,費(fèi)翔林.基于MVC模式的應(yīng)用軟件開發(fā)框架研究[J].計(jì)算機(jī)工程與應(yīng)用,2010.
[2]馮玉萍.基于MVC的設(shè)計(jì)與開發(fā)[J].科技風(fēng),2010(05).
[3]陸榮幸,郁洲,等.J2EE平臺(tái)上MVC設(shè)計(jì)模式的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,2010.
作者簡(jiǎn)介:
孔穎(1983-),女,河南民權(quán)人,學(xué)士,河南建筑職業(yè)技術(shù)學(xué)院建設(shè)信息工程系助教,研究方向?yàn)檐浖こ蹋?/p>
孫秀明(1982-),女,河南周口人,碩士,河南建筑職業(yè)技術(shù)學(xué)院建設(shè)信息工程系講師,研究方向?yàn)閳D像處理和模式識(shí)別;
范君君(1981-),女,河南焦作人,碩士,河南建筑職業(yè)技術(shù)學(xué)院建設(shè)信息工程系助教,研究方向?yàn)檐浖こ獭?/p>