(信号与信息处理专业论文)基于mvc2扩展模式虚拟仪器的设计与实现.pdf_第1页
(信号与信息处理专业论文)基于mvc2扩展模式虚拟仪器的设计与实现.pdf_第2页
(信号与信息处理专业论文)基于mvc2扩展模式虚拟仪器的设计与实现.pdf_第3页
(信号与信息处理专业论文)基于mvc2扩展模式虚拟仪器的设计与实现.pdf_第4页
(信号与信息处理专业论文)基于mvc2扩展模式虚拟仪器的设计与实现.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 虚拟仪器是计算机仿真实验的重要组成部分,其研究与设计一直在计算机仿 真实验研究中占重要地位。早期的开发中,以实验为单元,将虚拟仪器封装在仿 真实验平台中,即虚拟仪器与实验本身是强耦合的。这样的设计能够很好地完成 指定实验仪器和实验步骤的实验,但是却无法满足设计性实验的要求,即实验者 自己选择仪器,按照自己的设计思想和实验方案完成实验。为了解决这个问题, 文献 6 采用动态绑定技术,设计和实现了具有可设计性和开放性功能的虚拟实 验系统。近几年来,随着虚拟现实技术在教学活动中的不断推广,对虚拟仪器的 仿真要求越来越高。特别是对具有同种仪器内核的仪器,由于生产厂家或型号的 不同,其面板往往差别很大,在开发该类虚拟仪器时,就需要能够实现外观界面 的灵活更换。 文献 7 】提出了一种基于u i m o d e l 体系结构的虚拟仪器开发模式。该体系结 构通过将与仪器的界面表示及仪器操作相关的部分和与仪器内核算法相关的部 分进行分离,将虚拟仪器的开发拆分为两层:界面层( u i ) 和实现层( m o d e l ) , 在一定程度上降低了u i 与m o d e l 之间的耦合,实现了代码的复用性。然而,由 于u i m o d e l 将仪器的界面表示与操作紧密耦合在一起,这在开发具有不同面板 界面的同类仪器时,需要重写整个u i 层。同时,u i 层与m o d e l 层之间的事件传 递机制使得二者之间并不是完全分离的,当更换界面修改u i 控件时,需要对耦 合的m o d e l 部分进行修改。m v c 2 是面向w e b 应用软件开发的m v c 的设计模 式。与传统m v c 相比,m v c 2 将m o d e l 与v i e w 之间的信息传递交由c o n t r o l l e r 进行负责,从而实现了二者之间的完全解耦【5 l 。然而对基于图形界面的桌面程序 开发,由于存在大量的操作事件交互及消息任务分发,直接采用m v c 2 的开发 模式,c o n t r o l l e r 层的工作量将急剧上升,不利于开发和维护。 本文在u i m o d e l 和m v c 2 开发模式的基础上,结合二者的优点,提出了一 种基于m v c 2 的扩展模式体系结构。该体系结构通过拆分c o n t r o l l e r 层,完成稳 定代码和易变代码的分离与封装,实现了同类仪器面板界面的灵活更换。 关键字:m v c 2 扩展模式,m v c 2 ,虚拟仪器,仿真实验 a b s t r a c t a b s t r a c t v i r t u a li n s t r u m e n t ( v i ) i sa l li m p o r t a n tc o m p o n e n to fc o m p u t e rs i m u l a t i o n e x p e r i m e n t ,t h u si t sd e s i g na n di m p l e m e n t a t i o ni so n eo f t h ek e yr e s e a r c hd i r e c t i o no f c o m p u t e rs i m u l a t i o ne x p e r i m e n t i ne a r l i e rw o r k s ,d e v e l o p m e n tp r o c e s st a k e s e x p e r i m e n ta su n i t ,a n dv i sa r ee n c a p s u l a t e di nt h ep l a t f o r m ,s ot h ev i sa r et i g h t l y c o u p l e d 、柝t he x p e r i m e n t t h o u g h t h i s d e v e l o p i n gc o n c e p t c a n s a t i s f yt h e i m p l e m e n t a t i o no fs i m u l a t i o ne x p e r i m e n t w h e r et h ec o n t e n t sa r es p e c i f i e d ,i td o e sn o t m e e tt h e r e q u i r e m e n t o f d e s i g n a b l e ,i e e x p e r i m e n t e r sc o m p l e t ee x p e r i m e n t s a c c o r d i n gt ot h e i ro w ni d e a s t os o l v et h i sp r o b l e m ,【2 】d e s i g n e da n di m p l e m e n t e da d e s i g n a b l ev i r t u a le x p e r i m e n ts y s t e mu s i n gd y n a m i cb i n d i n gt e c h n o l o g y r e c e n t l y , t e c h n o l o g i e so fv i r t u a l r e a la r em o r ea n dm o r ew i d e l yu s e di nt e a c h i n ga c t i v i t i e s ,a n d t h er e q u i r e m e n to fs i m u l a t i o ng o e sh i g h e ra n dh i g h e r t h u sw h e nd e v e l o p i n gv i sw i t h s a m ef u n c t i o n sb u td i f f e r e n ta p p e a r a n c e s ,o n es h o u l de x p e d i e n t l yr e p l a c ei n s t r u m e n t a p p e a r a n c e sw i t h o u tr e w r i t i n gm o s to f t h ep r o g r a m m i n gc o d e 【3 】3p r o p o s e dad e s i g np a t t e r nb a s e du i - m o d e la r c h i t e c t u r e u i m o d e ls e p a r a t e s t h ec o d ei n t ot w op a r t s :t h eu s e ri n t e r f a c ep a r tw h i c hi sr e l a t e dt ot h ea p p e a r a n c e so f i n s t r m - a e n t sa n dt h em o d e lp a r tw h i c hi sr e l a t e dt ot h ek e r n e lf u n c t i o n s ,s oi tr e d u c e s t h ec o u p l i n go fu ia n dm o d e la n di n c r e a s e st h er e u s a b i l i t y b u ti nu i - m o d e ld e s i g n p a t t e m ,t h eu s e ri n t e r f a c eo fv ia n do p e r a t i o n so fe x p e r i m e n t e r sa r e s t i l lt i g h t l y c o u p l e d ,w h i c hi m p l i e st h a tt h ew h o l eu is h o u l db er e w r i t t e nw h e na p p e a r a n c e s o fv i c h a n g e f u r t h e r , t h em e s s a g et r a n s p o r tm e c h a n i s mo fu i m o d e lr e q u i r e sr e w r i t i n g t h e c o u p l i n gp a r to fm o d e lw h e nc h a n g i n gu ic o n t r o l s m v c 2i saw e b - o r i e n t e dd e s i g n p a t t e r nb a s e do nm v cd e s i g np a t t e r n c o m p a r e dw i t hm v c ,m v c 2t r a n s p o r t s m e s s a g e sb e t w e e nm o d e l a n dv i e wi nc o n t r o l l e r , t h u sm o d e la n dv i e wa r eu n c o u p l e d b u tf o rd e s k t o pa p p l i c a t i o n sw i t hr e s p e c tt og r a p h i c a li n t e r f a c e s ,o n es h o u l dd e a lw i t h l o t so fi n t e r o p e r a t i o ne v e n t sa n dm e s s a g ed e l i v e r y , a n dm v c 2 i sn o ts u i t a b l eb e c a u s e t h ec o n t r o l l e rw i l lg r o wi n t r a c t a b l ea n di sn o tg o o df o rd e v e l o p i n g 6 】 i nt h i sp a p e r ,w ep r o p o s e da ne x p a n d e dd e s i g np a r e ma r c h i t e c t u r ew h i c h i n t e g r a t e sa d v a n t a g e so fb o t hu i m o d e la n dm v c 2d e s i g np a t t e m t h en e wd e s i g n p a a e r nd i v i d e st h e c o n t r o l l e rl a y e ri n t ot w op a r t s :v i e wc o n t r o l l e ra n dm o d e l c o n t r o l l e r , a n di m p l e m e n t st h ed i v i s i o na n de n c a p s u l a t i o no fs t a b l ec o d ea n dv a r i a b l e c o d e ,a n ds a t i s f i e st h er e q u i r e m e n to fe x p e d i e n t l yr e p l a c i n gi n s t r u m e n ta p p e a r a n c e s a b s t r a c t k e yw o r d s :m v c 2e x p a n s i o np a t t e r n ,m v c 2 ,v i r t u a li n s t r u m e n t ,s i m u l a t i o ne x p e r i m e n t m 图目录 图目录 图1 1早期虚拟实验总体结构3 图2 1m v c 模式体系结构5 图2 2m v c 开发平台7 图2 3u i m o d e l 体系结构9 图2 4 事件处理状态机1 0 图2 5u i m o d e l 的层次1 0 图2 6m v c 2 体系结构1 1 图2 7m v c 2 在j 2 e e 平台下体系结构图。1 2 图3 1不同型号的示波器1 4 图3 2m v c 2 扩展模式体系结构图1 5 图4 1 n t e 开发平台。1 8 图4 2 n t ef r a m e w o r k 环境18 图4 3 示波器内部结构框图2 4 图4 4y b 4 3 2 0 b 型号示波器面板2 5 图4 5基于m v c 2 扩展模式的虚拟示波器体系结构图3 0 图4 6 旋钮控件结构图3l 图4 7 示波器m o d e l 框架图3 4 图4 8 示波器v i e w l 和v i e w 2 界面效果图4 0 图4 9 示波器1 。4 4 图4 1 0 示波器2 4 5 图4 1 1示波器测时间工程4 8 图4 1 2 示波器在示波器测时间中应用4 8 中国科学技术大学学位论文原创性声明 本人声明所呈交的学位论文,是本人在导师指导下进行研究工作所取得的 成果。除已特别加以标注和致谢的地方外,论文中不包含任何他人已经发表或 撰写过的研究成果。与我一同工作的同志对本研究所做的贡献均已在论文中作 了明确的说明。 4 矿 作者签名:牟兰抵 签字日期:团旦:生! k 中国科学技术大学学位论文授权使用声明 作为申请学位的条件之一,学位论文著作权拥有者授权中国科学技术大学 拥有学位论文的部分使用权,即:学校有权按有关规定向国家有关部门或机构 送交论文的复印件和电子版,允许论文被查阅和借阅,可以将学位论文编入有 关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论 文。本人提交的电子文档的内容和纸质论文的内容相一致。 保密的学位论文在解密后也遵守此规定。 酸开口保密( 年) 作者签名: 签字日期: 导师签名:至! ! 叁互: 签字日期: v l y ;一 第1 章绪论 第1 章绪论 本章摘要:虚拟仪器是计算机仿真实验的重要组成部分,其研究与设计一直 在计算机仿真实验研究中占重要地位。近几年来,随着虚拟现实技术在教学活动 中的不断推广,对虚拟仪器的仿真要求越来越高。特别是对具有同种仪器内核的 仪器,由于生产厂家或型号的不同,其面板往往差别很大,在开发该类虚拟仪器 时,就需要能够实现外观界面的灵活更换。本文针对这种情况,在以前工作的基 础上,结合当时开发广泛应用的m v c 开发模式,构建 m v c 2 扩展模式。本章首 先介绍了仿真实验的发展,随后介绍了有同种内核,不过外观的仪器开发的需要, 最后说明了全文的结构和安排。 1 1 研究背景和意义 随着社会的进步和教学要求的提高,大学物理实验课程的开展情况得到越来 越多高校、教育部等相关部门领导的重视。物理实验是物理学的基础,大学物理 实验反映了理工科及各个学科科学实验共性和普遍性的问题。在培养学生严谨的 科学思维、创新能力,培养学生理论联系实际,特别是与科学技术发展相适应的 综合能力,以适应科技发展与社会进步对人才的需求方面有着不可替代的作用 【l 】 o 但是在实际的教学中,一方面教学资源的不足,另一方面学生在不是很熟悉 实验仪器结构的情况下,实验仪器容易损坏,学生没有充足的时间接触实验环境 进行相关的实验。这样大大限制了,学生的实际动手能力和创新思维。在这种情 况下,2 0 世纪9 0 年代,中国科学技术大学开发的基于计算机虚拟技术的大学物 理实验,使用计算机技术对实验环境进行仿真,很好的解决了实验仪器的不足或 实验仪器损坏问题,是国内最早实现虚拟技术的软件它开拓了计算机辅助教学 ( c a i ) 的重要方向,被列为国家“九五”重点科技攻关项目,五年多来全国已 有2 0 0 多所大学应用了该软件,并得到一致的好评。 计算机相关技术的在近2 0 年来的快速发展,为大学物理仿真实验的开发提 供了条件,同时大学物理仿真实验的开发随着计算机技术的发展也在不断改革创 新,以达到能更好的适应教学的要求,实验场景的逼真感和实验操作的真实化。 9 6 年我们在国际上首创开发出第一套仿真实验教学软件;9 8 年升级为w i n d o w s 版本,在规模和虚拟技术水平上得到进一步提高和完善。随后又在互联网技术的 基础上推出了大学物理虚拟实验网络远程教学系统,并且结合与现代科学技术相 关的物理实验内容和实验技术,发展了其规模和水平。最近即将推出大学物理自 动评卷考试系统,结合计算机最新技术w p f ,即能实现平时实验,又能进行考 第1 章绪论 试,根据学生的操作进行评分。 大学物理仿真实验意义重大,不仅可以将实验的基本原理、仪器结构与功能 感性地再现,使学生充分理解实验的设计思想、设计方法以及仪器的内部结构和 工作原理;而且可以使学生能够自行设计实验参数,反复调节,观察实验现象, 分析实验结果;同时还可以根据不同的学习情况得到相应的指导这项工作改变 了实验教学的模式,提高了实验教学的地位和水平,具有广泛的应用前景 2 1 。 大学物理仿真实验的开发对大学实验教学具有重要的意义: 1 、打破传统,开创了物理实验教学的新模式。传统的实验教学,一般采用 教师在教室进行讲解后,学生到实验室进行具体实验操作。而大学仿真实验系统, 利用计算机对实验进行仿真模拟,把实验设备、教学内容( 包括理论教学) 、教师 指导和学习者的思考、操作有机融合为一体,让学生学习实验内容的同时,进行 相应的操作,这样,印象更加深刻,具有较高的效率,为物理实验改革提供了有 力工具,同时克服了实验教学长期受到课堂、课时限制的困扰,使实验教学内容 在时间和空间上得到延伸。 2 、解决了实验仪器不足和实验仪器容易损坏的问题。实验仪器随着时代的 不断更新,实验仪器的损坏严重,实验仪器的不足一直困扰着各个高校。仿真实 验实现对实验场景及仪器的模拟,在机房、宿舍等都可以进行实验操作学习,打 破了地点的限制,同时,不怕由于不小心操作错误造成实验仪器的损坏。这样, 学生可以大胆地按照自己的想法进行实验操作,对学生创新精神的培养有重要的 意义。 3 、实现了教、学、做一体化。大学物理仿真实验系统包括:实验简介、实 验原理、试验仪器、实验内容、实验指导和思考题等相关内容。实验简介主要介 绍实验相关背景,实验原理介绍实验原理,以及实验意义在该实验中应用与作用, 实验仪器介绍仪器的结构、仪器的工作原理等,实验指导详细介绍了实验的造作 步骤、注意事项以及相应动画的显示等,思考题提供实验前后要思考或实验中要 注意的问题等。使用者可以按照上面的介绍进行学习、操作,遇到操作中不懂问 题可以根据实验指导中的操作步骤进行解决。这样,把教、学、做实现了一体化, 既节约了老师指导时间,也能便于学生随时随地学习,操作。 根据上面所述,大学物理仿真实验在大学物理教学中起到越来越重要的作 用,对教学的改革起到一定的推动作用,更有利于学生素质的提高。 1 2 虚拟仪器的发展与研究现状 计算机科学和微电子技术的迅速发展,对计算机仿真的改进有极大的推动和 帮助作用,一个新型的仪器概念一虚拟仪器【3 1 ( v j r t l l a li n s t r u m e n t ) ,在实现和应用 2 第1 章绪论 中得到越来越多的关注。虚拟仪器是计算机技术介入仪器领域所形成的一种新型 的、富有生命力的仪器种类,在虚拟仪器中计算机处于核心地位,计算机软件技 术和测试系统更紧密地结合成了一个有机整体,仪器的结构概念和设计观点等都 发生了突破性的变化。从构成上来说,虚拟仪器就是利用现有的计算机,配上相 应的硬件和专用软件,形成既有普通仪器的基本功能,又有一般仪器所没有的特 殊功能的高档低价的新型仪器。在使用上来说,虚拟仪器利用p c 计算机强大的 图形环境,建立界面友好的虚拟仪器面板( 即软面板) ,操作人员通过友好的图形 界面及图形化编程语言控制仪器运行,完成对被测试量的采集、分析、判断、显 示、存储及数据生成。下面详述虚拟仪器在大学物理仿真实验中的发展过程。 早期的开发中,每个虚拟实验对一个特定的物理实验进行仿真,包括虚拟实 验场景、虚拟仪器以及实验教材和教师指导系统,并组成一个有机的整体实验 在虚拟实验场景中进行,如图1 1 所示。在教师的指导下,学生可以调出实验相 关材料进行学习,选择并摆放所需实验仪器,对虚拟仪器进行操作,观察现象, 记录并处理数据,最后填写实验报告【4 】 图i 1 早期虚拟实验总体结构 随着对学生素质要求的提高,可设计性实验在各个高校得到越来越广泛的开 展,即要求实验者自己选择仪器,按照自己的设计思想和实验方案完成实验。早 期的开发的仿真实验中虚拟仪器与实验本身是强耦合的,这样的设计能够很好地 完成指定实验仪器和实验步骤的实验,但是却无法满足设计性实验的要求。 为了对可设计实验仿真,把仿真实验中的虚拟仪器和场景进行分离,虚拟场 景模拟特定的实验平台,摆放相应的虚拟仪器、连接线路、调出仪器进行操作等, 并对各仪器进行控制,虚拟仪器在接受操作改变状态后,将结果反馈给场景,以 便控制场景中其它会受到影响的仪器虚拟仪器是否接受外界控制( 操作) 、是否 影响场景中其它仪器及是否受场景中其它仪器的影响,决定它与虚拟场景的相互 关系【5 卅。文献 7 】提出了u i m o d e l 设计模式,该模式是考虑到虚拟仪器的特点: 外在表现和实验操作机密结合,将m v c 体系结构中的视图和控制器中与界面表 现相关的部分合并在一起,合称u i ,完成界面表示与仪器操作的工作;m v c 体 系结构中的模型部分与控制器中的算法部分合并在一起构成了m o d e l ,实现仪器 第1 章绪论 的内核运算。和以前仿真实验的开发模式相比,层次更加清晰,具有更高的复用 性。 近几年来,随着虚拟现实技术在教学活动中的不断推广,对虚拟仪器的仿真 要求越来越高。特别是对具有同种仪器内核的仪器,由于生产厂家或型号的不同, 其面板往往差别很大,在开发该类虚拟仪器时,就需要能够实现外观界面的灵活 更换。若采用u i m o d e l 模式,除了要重写u i 部分外,还要修改m o d e l 中与u i 耦合的部分,这样没有实现相对易变部分和相对稳定部分的分离,增大了工作了。 这样如何提高开发相同内核而界面不同的仪器的效率就成了急得解决的问题。 1 3 本文研究的内容与目标 针对具有相同内核,不同外观界面的仪器开发效率不高的问题,结合以前工 作的研究情况和当今计算机技术进行了深入研究,提出了m v c 2 扩展模式,提 高了虚拟仪器的开发效率。 u i m o d e l 体系结构是开发仿真实验的过程中,为了使结构更加清晰,同时 考虑到仿真实验的特点:虚拟仪器的外在表现与操作紧密结合,对m v c 模式进 行了改进,把整个c o n t r o l l e r 进行拆分,其中与界面表现相关的部分和视图v i e w 进行合并,称为u i ,其中与模型算法相关的部分与模型m o d e l 合并一起,称为 m o d e l ,这样整个架构体系分成了两部分,即u i 和m o d e l 。u i 与仪器外观表现有 关,模型与仪器功能内核相关,这样层次清晰,与以前相比,有较高的复用性。 但是在不同外观晃面的仪器开发中,除了重新u i 部分外,还要重新m o d e l 中与 u i 相关的部分,效率不是很好。 为了更好的解决不同外观界面的仪器开发效率问题,需要把负责外观显示部 分和功能内核部分进行彻底分离,任何一方的改变不影响另一方,它们之间连接 部分也要相应的拆分。这样,在开发过程中,能够实现尽量少的修改就能完成界 面外观的更换。根据以上分析,在以前研究工作的基础上,结合m v c 2 架构体 系,提出了m v c 2 扩展模式,把m v c 2 中控制模块进行了拆分为v - c o n t r o l l e r 和m c o n t r o l l e r 两部分,很好的解决了不同外观界面的仪器开发效率问题。 本文首先讲述了m v c 体系结构、u i m o d e l 体系结构和m v c 2 体系结构, 分析了各自的特点及其优缺点,其次,叙述了m v c 2 体系结构,详细的说明了 划分规则和优点,最后,以仿真实验中的虚拟仪器示波器为例,按照m v c 2 体系结构进行开发说明不同外观界面的仪器开发效率得到了提高。 4 第2 章m v c 、u i - m o d e 以及m v c 2 体系结构 第2 章m v c 、e 1 m o d e l 以及m v c 2 体系结构 奉章摘要:本章首先讲述了m v c 体系结构,对m v c 的层次划分进行了说明 分析了改体系结构的优缺点然后介绍了m v c 的广泛应用领域。在m v c 基础上 阐迷了u i - m o d e l 和m v c 2 体系结构,并分析了各自的优点与不足。 2 1m v c 模式的发展与现状 211 概述 m v c i l ( m o d e l v | e w 心n 椭l 峙n 模式是在2 0 世纪8 0 年代,s m a | l t a i k - 9 0 【”的 g u i 设计中被提出【1 0 , 1 1 , 1 2 l 。m v c 模式把视图部分、数据部分以及程序控制部分 进行分离,并且对不同部分中对象之间通信的方式进行了描述,使它们的数据模 型和方法不必彼此之间相互牵涉从而使程序结构变得更加清晰而灵活,由原来 的紧耦合变为了松耦台。基于j 2 e e 通过j s ps e r v k t 和j a v a b e a n s 实现的m v c 结构的出现使得m v c 模式在大型的w e b 项目的开发中得到广泛地应用- 此外, m v c 模式在微软开发的n e t 平台中也得到极大地推广与应用。m v c 模式包括三 部分:模型f m o d d ) 、视图( v i e w ) 以及控制器( c o l l d l l e o ,分别对应于内部数据、 数据表示以及输入输出控制三部分1 一6 1 。m v c 模式的一般结构如图21 所示。 图21m v c 模式体系结构】 1 模犁_ ( m o d e l ) 1 1 7 模型是对与问题相关数据进行的逻辑抽象,其中整个模型的核心是代表对象 的内在属性。它把问题领域中的对象抽象为应用程序对象,在这些抽象i 拘x , l 象中 封装了对象的属性以及这些对象所隐含的逻辑,采用了面向对象的方法。模型的 作用如下所示: 第2 章m v c 、u i m o d e l 以及m v c 2 体系结构 ( 1 ) 对应用程序的功能进行了抽象以及对程序数据的结构和操作进行了封 装; 但) 通过c o n t r o l l e r 提供了对程序功能的访问; ( 3 ) 接受v i e w 所需要的数据查询请求; ( 4 ) 当数据发生变化时,通知与该数据有关的v i e w 。 2 视i 蛩( v i e w ) i s 】 视图是模型的外在表现,一个模型可以与一个或多个视图进行对应,例如命 令行视图、图形用户界面视图、a p i 视图等等;或按使用者分类为:熟练用户视 图、新用户视图等等。视图是应用系统与外界交互的接口,具有与外界交互的功 能:一方面,视图向外界提供了输入手段,并能够触发应用逻辑的运行;另一方 面,视图又把逻辑运行的结果按照某种形式向外界显示。当m o d e l 变化时,它 能够及时作出相应改变。v i e w 的作用如下: ( 1 ) 抽象数据的表现部分; ( 2 ) 将数据按照一定形式展现给用户,并能获得用户输入; ( 3 ) 把用户的输入转发给控制器( c o n t r o l l e r ) ; ( 4 ) 当接到来自m o d e l 的“数据已更新”通知,能够及时更新相应信息。 3 控制器( c o n t r o l l e r ) 1 9 l 控制器是把模型与视图联系起来的纽带,控制器首先提取通过视图传输的外 部信息,并把用户与v i e w 的交互信息转换成为基于应用程序行为的标准业务事 件,然后,再将标准业务事件解析为m o d e l 能够执行的动作( 包括改变m o d e l 的 状态和激活业务逻辑) 。同时,控制器把模型的更新与修改通知视图,从而保持 各个视图和模型之间的一致性。c o n t r o l l e r 的作用如下: ( 1 ) 对用户交互和应用程序语义的映射进行抽象; ( 2 ) 把用户输入翻译为应用程序能够执行的动作,然后转发给m o d e l ; ( 3 ) 根据m o d e l 对程序动作的输出以及用户输入,选择与之有关的v i e w 来 展现数据。 2 1 2m v c 三部分之间的关系 和一般的程序结构一样,m v c 模式有输入、处理、输出三部分:c o n t r o l l e r 对应输入,m o d e l 对应数据表示和数据处理,v i e w 对应输出。其中,控制器与 平台和操作系统的关系最为密切,v i e w 与该部分相关( v i e w 并不在意事件是来自 m i c r o s o f tw i n d o w s 还是xw i n d o w s ) ,m o d e l 与平台无关。m v c 模式通常会定义 一个受限连接集合,用来描述模型、视图与控制器之间的通信关系,以及数据和 控制信息之间的传递方式和方向。m v c 模式中三个部分之间的通信都按照这个 6 第2 章m v c 、u i - m o d e 以及m v c 2 体系结构 集合的规定进行【”i 。 213m v c 的应用 寺i t 三_ ) j 叠塑 图22m v c 开发平台 当今已经成为应用屉广泛的设计模式m v c 在各种平台、结构以及行软的开 发中都得n t 实现,常见的主要有$ 1 1 n 公司开友的j 2 e e 平台【2 1 , 2 2 , 7 3 i 和微软公司 开发的n e t 平台【z 4 1 在这两个主流平台之上m v c 模式得到了各种各样的应用。 图22 左显示的是微软公司的n e t 平台,圈22 右所示是s i l l l 公司的j 2 e e 平台。 随着软件水平的不断提高,m v c 模式应用范围也在不断延伸,逐步拓展到生产、 生活中各个领域。 2131 军事应用 作战指挥系统在信息化战争中得到越来越多的关注,它的主要作用是收集 数据、融合数据、分发数据以及控制武器等等。从5 0 年代开始发展到今天,作 战指挥系统结构经过了一个漫长的过程,主要目的都是为了提高系统的开放性、 可重组性、可扩展性以及可靠性。采用基于m v c 模式的分布式指挥系统的架构 使得客户端与服务器端之间都采用消息中间件进行通信,因此作战指挥系统在 通信及处理能力上都有显著的提高和进步瞄l 。 2132 经济应用 现在的银行中间业务需要为客户办理收付、委托以及其他各种金融服务业 务。主要包括信托、租赁、汇兑、银行卡、结算、咨询以及电子计算机服务等多 种相关业务。与国外银行相比,我国商业银行中间业务发展较晚,产品种类比 较单一,还正处在体制转轨、结构调整的阶段,大部分银行中间业务系统都存在 着软件开发模式陈旧,功能单一,系统扩展效率低下等缺点,要想在擞烈竞争 第2 章m v c 、u i m o d e l 以及m v c 2 体系结构 的国际市场中获得突破性发展,就必须高度重视中间业务的发展与多样化。银 行中间业务系统基于j 2 e e 平台和n e t 开发进行开发之后,由于同时具有互操作 性、跨平台性、易维护以及易扩展性等优点,可以对我国银行提过更多的实用 价值【2 6 1 。 2 1 3 3 农业应用 粮库管理系统要能有效管理地方粮库和中央直属储备库,并且能够把各粮库 的实际情况如实、动态的反应出来,以便能够做出及时的决策,发挥出最大效益。 粮库管理信息系统需要借助迅速发展的现代化信息技术对粮库日常产生的数据 进行收集、管理来实现提前的规划和预测,实现对粮库智能化的管理。粮库管理 信息系统采用m v c 模式设计,便于系统内各类信息的横向或纵向传递、沟通以 及共享,使管理者能真实的、及时地了解粮库情况,及时做出正确的决策。做 到对粮库的各项管理标准化、规范化、智能化,起到对我国粮库管理的巨大贡献 1 2 7 1 。 2 1 3 4 信息管理系统 为了适应信息化的迅速发展和竞争日益激烈的市场经济,各公司都努力提高 公司竞争力,尽快推出了最适合本公司发展的信息管珲系统。目前国内还有很多 管理系统没有采用m v c 的架构模式,导致数据和页面的分离不是很直接,因而 不能很好的体现出业务模型的视图或者模型的重用性,产品设计弹性力度很小, 不能很好的满足用户的变化性需求。而采用m v c 模式对不同应用功能进行分层 后,产品的结构清晰,其应用功能可以通过模型得到更好地体现【2 羽。 2 2u i m o d e l 模式 2 2 1u i - m o d e l 体系结构 为了在设计性实验中将虚拟仪器以组件的形式存在,从而形成独立于实验平 厶1 2 :1 的仪器库,文献 7 】基于m v c 设计模式提出了一种u i m o d e l 的体系结构。它 将虚拟仪器从实验平台分离出来,通过封装虚拟仪器,提供m o d e l 对外的公开 接口,以动态绑定的方式来实现仪器与平台的交互。其示意图如图2 2 所示。 8 第2 章m v c 、u i m o d e l 以及m v c 2 体系结构 卜 m o d i f y u i v m o d e l 八 n o t i f y v 图2 3u i m o d e l 体系结构 由图1 可见,u i m o d e l 将虚拟仪器的开发分为两部分:仪器界面表示与相 关操作的部分和仪器内核算法逻辑部分,即界面层( u i ) 和实现层( m o d e l ) 。 与传统m v c 模式相比,u i m o d e l 更多地考虑了真实仪器中界面和操作的紧密耦 合性,和虚拟仪器中对界面操作的反应速度。所以对应地,u i m o d e l 将m v c 体 系结构中的视图和控制器中与界面表现相关的部分合并在一起,合称u i ,完成 界面表示与仪器操作的工作:m v c 体系结构中的模型部分与控制器中的算法部 分合并在一起构成了m o d e l ,实现仪器的内核运算。即将m v c 中的控制层按照 业务逻辑分为易变部分和稳定部分,分别划分入u i 层和m o d e l 。 u i 与m o d e l 之间的通讯采用o b s e r v e r 模式,u i 改变时不去直接调用m o d e l 的方法,而是发出一个事件e v e n tm o d e l 接收到e v e n t ,根据e v e n t 的参数进行 相应处理,使得u i 不用关心m o d e l 怎样进行数据处理。这就将虚拟仪器的层次 简化到了两层:界面层( u i ) 与实现层( m o d e l ) ,同时在当前条件下保证了m v c 体系 结构中我们需要的功能。 2 2 2u l - m o d l e 体系结构的优缺点 u i m o d e l 是一种接口连接式的体系结构【2 9 , 3 0 。在接口连接式的体系结构中, 构件的接口一方面定义了其对外提供的功能,另一方面定义了其要求的外部功 能,因此显式地表达了构件对外部环境的依赖,从而提高了构件接口规约的表达 能力。构件的接口虽然定义了所有对外交互的信息,但是构件在实现时使用它在 接口处定义的对外要求的功能,而不是直接使用其他构件提供的功能。按照所要 求的功能和所提供的功能之间进行匹配来实现构件之间的连接,因此,通过接口 就可以在系统中定义构件之间的所有连接。这样,就能够把对象连接体系结构类 型中构件之间的固定连接方式变成灵活的连接方式,降低了构件之间的依赖性, 提高了构件的独立性和可复用性。 u i m o d e l 为了消除与用户接口有关以及与面向对象的设计有关的困难,采 用了以下三中方法: 第一,u i - m o d e l 为了将面向对象的设计与面向操作的拓扑结构隔离开来, 9 第2 章m v c 、u i m o d e l 以及m v c 2 体系结构 采用了一个状态机跟踪并处理面向操作的用户事件,如图2 3 。这样防止了面向 对象的设计走向反面。 图2 4 事件处理状态机 第二,u i m o d e l 把面向对象的模型与用户接口分开,如图2 4 。这样可以 使用许多不同的界面显示方式,而不用对同样的模型进行修改。另外,若m o d e l 更新由u i ( 用户界面层) 来完成,那么u i 就可以跨应用再使用。 图2 5ui - m o d e i 的层次 第三,u i m o d e l 允许对应用的用户接口进行变化而几乎不影响m o d e l 。 当用户接口的变化时只要对u i 进行相应的修改,但是既然u i 包含很少的实际 行为,它的修改比较容易。u i m o d e l 设计可以将一个好的面向对象的设计和接 口隔离开来,也可以在同样的模型中使用多个接口,并且可以在实现过程中对接 1 0 第2 章m v c 、u i - m o d e l 咀及m v c 2 体系结构 口进行较大的修改而不需要对模型进行变更。这样,u i m o d e l 在实现过程中将 面向对象的模型与用户接口分开,使得操作处理与仪器核心算法分离,在用户对 u l 或m o d e l 进行设计或修改时能够避免相互之间的影响,能够达到当时虚拟仪 器的设计要求。 u i - m o d d 的缺点及不足; 1 、把整个体系分成两部分,即u l 和m o d e l ,这样与原有的m v c 相比,结 构不够清晰,u i 包括了除了只负责界面显示的v i e w 外还有控制层中与v i e w 有关的部分;m o d e l 中除了完成本身的逻辑处理还要进行,e v e n t 事件的接收, 同时完成事件分发,实现与u i 层的交互。 2 、由u 1 m o d e l 的层次划分规则可知在有相同仪器内核不同外观的虚拟仪 器的开发过程中,除了重写整个u i 层外还要对m o d e l 进行修改,使之与新的 u i 相对应。 z 3m v c 2 体系结构 m v c 2 模式最早出现在网络程序之中,因为传统m v c 模式中m o 如l 改变时 采用o b e y e r ( 观察者) 模式通知视图进行更新,而在w e b 程序当中按照这种 通信方式m o d e l 无法通知的界面进行及时更新而发明,这种模式把c o n t r o l l e r 做 为中介者,c o n l a o l l e r 一方面取得v i e w 的输入,然后交由m o d e l 层处理,另一方 面再把返回的数据传递到v i e w 。 图2 6 m v c 2 体系结构 m v c 2 工作流程如下:首先通过v i e w 接受用户输入,并传递到c o n t r o l l e r , c o n t r o l l e r 统一进行命令处理,把用户输入转化为程序能够执行的动作事件t 再交 由m o d e l 处理具体的业务,经过m o d e l 处理,数据更新后通知c o n t r o l l e r ,c o n t r o l i c r 会选一个或多个与更新数据相关的v i e w ,并把m o d e l 内容传递( r e q u e s t ,s e s s i o n ) 给它( f o r w a r d ) ,然后相关v i e w 进行更新、显示【3 l 挪) ”。 m v c 2 模式相对m v c 优势很明显,首先m o d e l 和v i e w 相对独立,放弃了 i 一一 第2 章m v c 、u i m o d e l 以及m v c 2 体系结构 传统的观察者模式,俩者的通信通过c o n t r o l l e r 作为中介者来实现,这样大大降 低了两者的耦合性,俩者实现了并行开发,这为开发带了很大的便利。其次m o d e l 和v i e w 无需了解对方的存在,只需准备相应的接口而已,这样大大提高了代码 的复用性;缺点是c o n t r o l l e r 层变得相对复杂了,功能比较繁重【3 4 】。 首先,为了将m v c 设计模式引入w e b 应用软件开发,提出了基于j 2 e e 平 台上的j s p m o d e l 2 ( m v c 2 ) 。m v c 2 使用j s p 技术实现视图的功能,使用 s e r v l e t 技术实现控制器的功能,用e j b 技术实现模型功能【3 5 4 0 】。m v c 2 是面向 w e b 应用软件开发的m v c 模型,是m v c 的一种具体实现。其结构图如图2 6 所示。 图2 7m v c 2 在j 2 e e 平台下体系结构图 由上图所示, v w c 2 工作流程为:s e r v l e t 接收客户端请求,并把接收到的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论