mvc設(shè)計(jì)模式畢業(yè)論文外文翻譯_第1頁
已閱讀1頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、MVC設(shè)計(jì)模式MVC是一種目前廣泛流行的軟件設(shè)計(jì)模式,早在70年代,IBM就推出了Sanfronscisico項(xiàng)目計(jì)劃,其實(shí)就是MVC設(shè)計(jì)模式的研究。MVC設(shè)計(jì)思想MVC英文即ModelViewController,即把一個(gè)應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進(jìn)行分離,這樣一個(gè)應(yīng)用被分成三個(gè)層——模型層、視圖層、控制層。視圖(View)代表用戶交互界面,對于Web應(yīng)用來說,可以概括為HTML界面

2、,但有可能為XHTML、XML和Applet。隨著應(yīng)用的復(fù)雜性和規(guī)模性,界面的處理也變得具有挑戰(zhàn)性。一個(gè)應(yīng)用可能有很多不同的視圖,MVC設(shè)計(jì)模式對于視圖的處理僅限于視圖上數(shù)據(jù)的采集和處理,以及用戶的請求,而不包括在視圖上的業(yè)務(wù)流程的處理。業(yè)務(wù)流程的處理交予模型(Model)處理。比如一個(gè)訂單的視圖只接受來自模型的數(shù)據(jù)并顯示給用戶,以及將用戶界面的輸入數(shù)據(jù)和請求傳遞給控制和模型。視圖的實(shí)現(xiàn)很簡單??梢韵耖_發(fā)WINDOWS界面一樣直接在集成

3、開發(fā)環(huán)境下通過拖動(dòng)控件來完成頁面開發(fā)。模型(Model):就是業(yè)務(wù)流程狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的處理過程對其它層來說是黑箱操作,模型接受視圖請求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務(wù)模型的設(shè)計(jì)可以說是MVC最主要的核心。目前流行的EJB模型就是一個(gè)典型的應(yīng)用例子,它從應(yīng)用技術(shù)實(shí)現(xiàn)的角度對模型做了進(jìn)一步的劃分,以便充分利用現(xiàn)有的組件,但它不能作為應(yīng)用設(shè)計(jì)模型的框架。它僅僅告訴你按這種模型設(shè)計(jì)就可以利用某些技術(shù)組件,從而減少了技術(shù)

4、上的困難。對一個(gè)開發(fā)者來說,就可以專注于業(yè)務(wù)模型的設(shè)計(jì)。本文為模型提供了業(yè)務(wù)實(shí)體對象和業(yè)務(wù)處理對象:所有的業(yè)務(wù)處理對象都是從ProcessBase類派生的子類。業(yè)務(wù)處理對象封裝了具體的處理邏輯,調(diào)用業(yè)務(wù)邏輯模型,并且把響應(yīng)提交到合適的視圖組件以產(chǎn)生響應(yīng)。業(yè)務(wù)實(shí)體對象可以通過定義屬性描述客戶端表單數(shù)據(jù)。控制(Controller)可以理解為從用戶接收請求將模型與視圖匹配在一起,共同完成用戶的請求。劃分控制層的作用也很明顯,它就是一個(gè)分發(fā)器

5、,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶請求??刂茖硬⒉蛔鋈魏蔚臄?shù)據(jù)處理。例如,用戶點(diǎn)擊一個(gè)鏈接,控制層接受請求后并不處理業(yè)務(wù)信息,它只把用戶的信息傳遞給模型,告訴模型做什么,選擇符合要求的視圖返回給用戶。因此,一個(gè)模型可能對應(yīng)多個(gè)視圖,一個(gè)視圖可能對應(yīng)多個(gè)模型。模型、視圖與控制器的分離,使得一個(gè)模型可以具有多個(gè)顯示視圖。如果用戶通過某個(gè)視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴于這些數(shù)據(jù)的視圖都應(yīng)反映到這些變化。因此

6、,無論何時(shí)發(fā)生了何種數(shù)據(jù)變化,控制器都會將變化通知所有的視圖,導(dǎo)致顯示的更新。MVC的優(yōu)點(diǎn)大部分用過程語言比如ASP、PHP開發(fā)出來的Web應(yīng)用,初始的開發(fā)模板就是混合層的數(shù)據(jù)編程。例如,直接向數(shù)據(jù)庫發(fā)送請求并用HTML顯示開發(fā)速度往往比較快但由于數(shù)據(jù)頁面的分離不是很直接因而很難體現(xiàn)出業(yè)務(wù)模型的樣子或者模型的重用性。產(chǎn)品設(shè)計(jì)彈性力度很小,很難滿足用戶的變化性需求。MVC要求對應(yīng)用分層,雖然要花費(fèi)額外的工作,但產(chǎn)品的結(jié)構(gòu)清晰,產(chǎn)品的應(yīng)用通

7、過模型可以得到更好地體現(xiàn)。MVC模式的好處:只需在以前的程序上稍作修改或增加新的類,即可輕松增加許多程序功能。以前開發(fā)的許多類可以重用,而程序結(jié)構(gòu)根本不再需要改變,各類之間相互獨(dú)立,便于團(tuán)附錄2MVCDesignPatternMVCisawidelypopularsoftwaredesignpatternasearlyasinthe70sIBMintroducedtheSanfronscisicoontheprojectinfactis

8、theMVCdesignpatternresearch.MVCdesignideaMVCinEnglishModelViewControlleranapplicationthatisinputprocessoutputprocessinaccdancewiththeModelViewControllerisolatedmannersuchanapplicationisdividedintothreelayersmodellayervie

9、wlayercontrollayer.View(View)onbehalfoftheuserinterfacefWebapplicationscanbesummedupasHTMLinterfacebuthasthepotentialtoXHTMLXMLApplet.Withtheapplicationofthecomplexityscaletheinterfacehasbecomechallengingtodealwith.Anapp

10、licationmayhavedifferentviewsMVCdesignpatterntodealwiththeviewofthelimitedviewofdataacquisitionprocessingaswellastheusersrequestnotincludedintheviewonthehlingofbusinessprocesses.Thehlingofbusinessprocessestothemodel(Mode

11、l)todealwith.Fexampleaviewonlyacceptdersfromthemodeldatadisplaytousersaswellasinputuserinterfacedatatherequestpassedtothecontrolmodel.Model(Model):isthebusinessprocessstatusoftheprocessingbusinessrules.Businessprocesslay

12、eristheotherblackboxoperationthemodelviewtoaccepttherequestofthedatareturntheresultsofthefinal.ThedesignofbusinessmodelscanbesaidtobethemostimptantceofMVC.CurrentlypopularmodelofEJBapplicationsisatypicalexampleoftheappli

13、cationoftechnologyfromtheperspectiveofthemodelfurtherdelineationindertomakefulluseofexistingcomponentsbutitcannotbeusedasaframewkfapplicationdesignmodel.Itonlytellyouthataccdingtothedesignofthismodelwillbeabletousecertai

14、ntechnologycomponentstherebyreducingthetechnicaldifficulties.Exampleofadeveloperyoucanfocusonbusinessmodeldesign.Control(Controller)canbeinterpretedasarequestreceivedfromtheusermatchingthemodelviewtogethertocompletetheus

15、ersrequest.Theroleofdivisionofcontrollayerisalsoveryclearthatitclearlytellyouthatitisadistributedwhatkindofmodeltochoosechoosewhatkindofviewtocompletewhattheuserrequests.Controllayerdoesnotdoanydataprocessing.Fexamplethe

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論