您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > MVC模式研究的综述
:2003-10-22;:2003-11-26:江苏省高新技术研究资助项目(BG2003026)MVC*, ,,(南京大学计算机软件新技术国家重点实验室,江苏南京210093) :随着面向对象技术的发展,MVC的含义和用途变得更加广泛,不仅可以用于组件的构造,也可用于类似于电子商务应用等大型面向对象系统的软件设计。从MVC模式起源开始,讨论了MVC模式的结构、设计方法、实现技术、优缺点及其应用,最后介绍了由JSP,Servlet和JaveBeans实现的MVC2结构。:MVC;MVC2;设计模式:TP311.52:A:1001-3695(2004)10-0001-04OverviewoftheResearchinModel-View-ControllerPatternRENZhong-fang,ZHANGHua,YANMing-song,CHENShi-fu(StateKeyLaboratoryforNovelSoftwareTechnology,NanjingUniversity,NanjingJiangsu210093,China)Abstract:Astheobject-orientedtechniquedevelops,theuseofMVCbecamewiderandwider,andnolongerlimitedtotheconstructionofcomponent,itcanalsobeusedinthesoftwaredesignoflargeobject-orientedsystem,suchaselectroniccom-merce.ThispaperstartswiththeoriginofMVCpattern,discussesaboutthestructure,designmethod,implementationtech-niques,goodsideandbadside,andtheapplicationofit.Atendofthispaper,MVC2structureisdiscussed,whichisconstructofJSP,ServletandJavaBeans.Keywords:Model-View-Controller(MVC);MVC2;DesignPattern ,、[1]。,,,。2070,MVC(Model-View-Controller)Small-talk-80GUI。MVC、,,,。JSP,ServletJavaBeansJ2EEMVC2MVCWeb。MVC、。1 MVCMVC:(Model)、(View)(Controller),、。MdMaVC[2],,MdDomainModel,,;MaApplicationModel,,。MVC[3]1。1 MVC1.1 (Model),,。,,。:①,;②Con-troller;③View;④,View。1.2 (View),,、、API;:、。,:,;。。Mod-el,,:Push(),ViewModel,ModelView·1·200410 :MVC ;Pull(),ViewModel[4]。View:①;②,;③Controller;(4)Model“”,。1.3 (Controller),,View,Model(Model)。,,。Controller:(1);(2),Model;(3)Model,View。1.4 MVC,MVC、、:Controller,Model,View。,,View(ViewMi-crosoftWindowsXWindows),Model[2]。MVC,、,。MVC。2(a),2,:(1)—。,,。Observer[5]。(2)—。,,。Strategy[5]。(3)—。,,。MVC,,2(b),2(c)。2(b),2(c)2(a),;2(c)2(a),,,,。MVC++[6]。2 MVC2 MVC2.1 MVC。,。MVC、,、、,Web,、、、,、CRMERP。。MVC:(1)、,,;(2),,;(3),;(4),,;(5),,,;(6),、;(7),Model,ViewCon-troller(Proxy)[4],。2.2 MVCMVC:(1)MVC。MVC;(C++,)。(2)MVC、,,。,,。3 MVC[3]MVC:、,。,MVC:MVC、、。3.1 MVCMVC,、。l2,·2·2004,。,、、。,,,。{((Pl,P2),D,(M,…)),…},,(P1,P2)P1P2,Pl,P2、;DPlP2;(M,…),M;((Pl,P2),D,(M,…))。3.2 ,。。,,,、、、,。3.3 ,GUI。,。,,。:(1),,,。(2),,,。,,。3.4 ,,。,。MVC,、。,:(1),,JSP/Servlet/Java,Servlet,JSPJava。(2),,。4 MVCMVCModelView,Observer[4]。,Proxy[4]。4.1 :Observer()ObserverModelView、。,,,(Dependents)。(Subject)(Observer),。,,,,-(Publish-Subscribe)。,,。Observer3,SubjectObserver,,Notify()Observer。3 Observer,ChangeManager。ChangeManager,,。。,,,,。,,,,。,。(As-pects),。ObserverSubjectAspect,,Update。4.2 :Proxy(),,,。“”,,。Proxy,·3·10 :MVC 。ProxySurrogate,Proxy4。ProxyRealSubjectSubject,ProxyRealSubject()。ClientRe-quest(),SubjectRealSubjectProxy,。4 Proxy5 MVC(View)、(Controller)(Model),MVCGUI。GUIMVC。:(1)MicrosoftFoundationClass(MFC)/,MVC。ViewController,(Model),(View)(Con-troller)。,,,,,。,UpdateAllViews(),。(2)JavaJFCMVC,,Model,JList,JTable,JTree,JTextPane,ViewJFC,ControllerListener,ChangeListener。Swing,Dele-gate()。Delegate,,。(3)VelocityApache-Jakarta(Apache-JakartaApacheSoftwareJava,Java),Java。VelocityJ2EE,,EJB,Servlet,MVC。VelocityJava,MVC,JSP[7]。(4)StrutsApache-Jakarta,JakartaWeb,MVC2,MVC2TagLibraryHTML。StrutsEJB,JSPCustomTagLibraryView,Servlet[8,9],MVC。6 MVC2Web,(CGI)HTML,,MVC。MVC,WebMVC,J2EEJSPModel2(MVC2)。MVC2JSP,Servlet,EJB[9~11]。MVC2WebMVC,:JSP,ServletJavaBeans。,JSPMVCView,ServletController,BeanModel。ModelBeanBeanBean,Bean,Bean。MVC25,:Servlet,ServletBean,Bean,ServletBean,JSP,JSPHTML,。5 MVC2MVC2MVC:MVC,ViewModel(Register)(Notify),Model,View,,Observer;MVC2,ViewModelObserver,Web。HTTP,,,。7 MVC,,MVC2MVCWeb,MVC2Observer。“”MVCMVC2,MVCMVC2,Model,,。:[1]透明.Model-View-Controller模式[J].程序员,2002,(10):55-56.[2]JohnDeacon.Model-View-Controller(MVC)Architeture[EB/OL].[3]姚延涛,王煜,沈钧毅.采用增强的MVC模式提高(下转第8页)·4·2004。,。5。5()。5,。(),,,。(4)。,,,,。,,。(5),,(2),。(5)。,(),。。(6)。,,,。,nn,,,,。4 ,,?,。,,,。,,,。,,。:[1]史忠植.高级人工智能[M].北京:科学出版社,1998.126-180.[2]GreeneRL.EfficientRetrievalfromSparseAssociativeMemory[J].ArtifficialIntelligence,1994,66:395-410.[3]OmoriT,MochizukiT,etal.EmergenceofSysbolicBehaviorfromLikeMemorywithDynamicAttention[J].NeuralNetworks,1999,(12):1157-1172.[4]MurdockJrBB.TODAM2:AModelfortheStorageandRetrievalofItem,AssociativeandSerialorderInformation[J].PsychologicalRe-view,1993,100(2):183-203.[5]TruHCao.AFormalismforRepresentingandReasoningwithLin-guisticInformation[J].InternationalJournalofUncertainty,Fuzzi-nessandKnowledge-basedSystems,2002,10(3):281-307.[6]BaaderF,etal.TheDescriptionLogicHandbook:Theory,Implemen-tationandApplications[M].Cambridge:CambridgeUniversityPress,2002.29-83.[7]RalfKusters,RalfMolitor.ApproximatingMostSpecificConceptsinDescriptionLogicswithExistentialRestrictions[J].AICommunica-tions,2002,15:47-59.[8]董占球,等.按模式记忆[J].计算机学报,1991,14(4):316-318.[9]陈苒,董占球.按模式记忆理论的记忆结构刻画[J].计算机研究与发展,2000,37(5):634-640.[10]宣士斌,冯嘉礼.行为属性决定的事物间关系及其属性坐标表示法[J].南京大学学报(自然科学),2000,36(计算机专辑):8-13.[11]宣士斌,冯嘉礼.属性神经网络模型[J].计算机研究与发展,2002,39(11):1442-1446.[12]周志华,陈兆乾,东世福.基于域理论的自适应谐振神经网络研究[J].软件学报,2000,11(11):1451-1459.:宣士斌,副教授,主要从事人工智能及计算机应用研究。(上接第4页)面向对象应用能力[J].小型微型计算机系统,2002,(12):23-25.[4]ErichGamma,RichardHelm,RalphJohnson,etal.设计模式:可复用面向对象软件的基础[M].李英军,等.北京:机械工业出版社,2000.[5]胡文华,李建民,胡振鹏.模式与设计模式[J].计算机与现代化,200
本文标题:MVC模式研究的综述
链接地址:https://www.777doc.com/doc-3959521 .html