设计模式在TWaver中的应用研究

来源 :计算机光盘软件与应用 | 被引量 : 0次 | 上传用户:jsdhxmb
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文从设计模式的观点分析了TWaver的架构,重点详细探讨了其MVC的设计模式,数据元素与数据容器,以及事件驱动机制等原理。
  关键词:设计模式;MVC;Twaver
  中图分类号:TP311.52 文献标识码:A 文章编号:1007-9599 (2012) 13-0000-02
  一、引言
  TWaver是美国Serva Software公司的产品,是应用最为广泛的电信专业图形界面开发工具包,在电信行业应用非常广泛。TWaver关注于数据的图形展示,它是面向开发人员的,需要进行二次开发。
  TWaver的图形组件库中提供了拓扑组件、地图组件、设备图组件,以及表格、树图、属性表、图表等丰富的通用图形界面组件,为电信运营支撑系统(OSS)的开发提供“一站式”的组件产品和解决方案,是快速设计、开发和部署OSS的利器。
  二、概述
  Waver主要应用于电信行业,提供了电信相关的业务模型,如设备面板,告警传递等,但也不局限于电信,因其还可应用于电力、金融、制造、交通等行业的软件开发中。一般的软件系统图形界面开发需要花费大量的时间和人力,运行效率低下,界面不够专业美观。如果采用TWaver组件来开发软件界面,可以非常简单快速地创建精美、专业、高效的图形化界面,提高开发和运行效率,增加客户满意度,提高软件竞争力。
  TWaver组件产品目前有TWaver Java,TWaver Web,TWaver Flex,TWaver .NET,TWaver HTML5和TWaver GIS六条分支,各分支都具有统一的核心技术和架构。
  设计模式是一种广泛的概念,是一种通用的解决方案,比如软件设计中的MVC设计模式就是一种复杂的模式,它包含多种单一设计模式(比如事件设计模式,中间人设计模式,元素与容器模式,命令模式等等),是一种混合设计模式。
  三、MVC设计模式
  MVC是Model-View-Controller的简称,中文为模型-视图-控制器。MVC的设计模式最常用于Web应用,因为在Web应用中,前台与后台自然分离,无论是物理层面还是编程语言,浏览器端与服务器端都没法融为一体,自然而然需要模型与UI的分离设计,加上中间的控制模块,就构成了MVC的结构,前台发出请求,交给后台的控制器(C),控制器操作模型,并选择输出相应的视图(V),视图根据模型(M)中的数据生成,一个数据模型可以对应多种视图,同时模型发生变化,会通知所有的视图。
  MVC设计模式在Web应用中的结构关系:
  四、TWaver中的MVC
  Web上的这种不得已的设计模式带来了便利,它实现了业务与呈现的分离,在非Web应用中也值得广泛关注,无论是Java Swing,Flex还是Silverlight技术,都借鉴了MVC或其衍生版本的设计理念,TWaver也是如此。
  TWaver中的MVC设计模式与上面介绍的类似,抛开浏览器端,这种MVC的关系变得更加明显和简单,看下面的示意图,数据模型指TWaver定义的网元类型和数据容器,视图层指TWaver定义的各种组件,控制器则指界面交互和切换。
  M-V-C三层结构中,用户需要做的是组装模型,创建视图,定制交互逻辑,通常的TWaver应用,用户不需要关心模型和视图之间的关联和同步,只需要简单地创建,控制器层则根据实际业务需求定制。
  五、MVC的发展与演变
  MVC的出现(1974年,Trygve Reenskaug最早提出)有三十多年的历史了,由它发展而来的有很多新的模式(实际上TWaver也属于MVC的演化版本),其中最著名的有MVP,MVVM等等。
  (一)MVP
  MVP去掉了C(控制器)的部分,将交互监听相关的工作移到V,业务逻辑方面交给P,剩下的M称为纯粹的Domain Model。
  MVP中,表现者是数据与视图的中间人,对数据持有和格式化,每个V(视图)都关联着一个P(表现者),理想情况下,视图上的所有交互和操作都通过表现者去执行,表现者完成操作后,派发事件给各个视图实现更新。
  当然更宽松的情况是,允许视图拥有表现者的部分特殊的交互和操作,这在Web应用中尤其常见。
  通常P(表现者)位于多层结构中的业务层,但这并不固定,它也可以位于应用层或者用户界面层,MVP是一种思想,而不是一种限制,它可以在很多层面上嵌套叠加使用。
  (二)MVVM
  与MVP类似的是表现者模型模式,这种模式中没有表现者,取代的是视图直接与表现者模型绑定,这个表现者模型是专门制定视图的模型,这意味着这个模型可以公开属性,这是域模型(Domain Model)无法做到的,因为这违背了关系分离的原则,在这种情况下,表现者模型需要与域模型绑定,这样就可以订阅域模型上的事件,然后视图从表现模型上订阅事件,适时地更新。表现模型可以公开命令以供视图调用,这种方式的优势是当PM完成视图行为的封装后,你可以基本上不需要编写隐藏的代码,这种模式为WPF程序提供了强有力的选择,它也被称为MVVM设计模式。
  MVVM设计模式的最大特点是视图不直接从数据模型中获取数据,而在MVP中允许V视图与M数据模型的数据绑定关系,TWaver的设计模式与MVVM最为接近,是一种简化的MVVM。
  六、数据元素与数据容器
  TWaver的数据模型使用了数据元素与数据容器的概念,容器一方面是对数据元素的管理,提供了增减修改之类的API,此外对元素的事件监听做了统一管理,元素的属性变化都会通知容器,然后由容器统一派发给各个关联的视图组件,实现了数据模型与视图之间中间转换人的角色。
  七、事件监听机制
  事件监听本身也属于一种设计模式,它用于解决广播通知和信息获取的问题,从设计模式的角度看,存在订阅推送和主动提取两种方式,以报纸为例,前者好比订阅了某份日报,邮局会每天将报纸送到用户手中,后者好比报刊亭,用户如果想要看报,可以自己到报刊亭去购买查阅。这是不是很习以为常的事?现在回到软件编程,这里说的事件监听就是一种订阅模式,视图组件是用户,数据容器是信息源,视图订阅数据容器的消息,数据容器发送通知给视图组件。
  八、结语
  本文从MVC的设计模式,数据元素与数据容器,以及事件驱动机制等三个方面深入探讨了TWaver中的设计模式。
  参考文献:
  [1]http://www.servasoftware.com/twaver.php
  [2]http://www.servasoftware.com/twaver.php?p_id=110
  [3]http://www.servasoftware.com/twaver.php?p_id=31
  [4]http://www.servasoftware.com/twaver.php?p_id=34
其他文献
摘要:广西区水文水资源局中心主会场配置一台高级视频终端POLYCOM HDX 8000XL,各地分会场配置POLYCOM HDX7002XL,通过以太网端口接入本地局域网,通过广域网连接到中心主会场的POLYCOM RMX2020多点控制单元(MCU),实现广西壮族自治区内10个地市的视频会议。该系统支持多点视频会议功能和数据会议功能,可应用于防汛异地会商、行政会议、教学培训等方面。本文重点介绍了
一、中考考试说明二、核心考点解读1.光的传播:光在同种均匀介质中沿直线传播,例如,日食、小孔成像等,
本文就如何用好初中化学课程标准、考试说明、化学教材、教师用书和教辅材料“五本书”服务课堂教学进行了全面阐释,对初中化学教师提高课堂教学效益、提升教学质量有一定的参
化学课堂教学方法更新与优化,可以为化学课堂教学带来重要增长点.教师科学导入、明确目标、优化引导、合理运用教具、升级课堂评价,都属于课堂教学方法运用范畴,只有精心选择,才能
现有的手工统计信息的方法数据融合度差、分析和展示方法陈旧贫乏,已难以满足信息量日趋庞大。统计结果复杂的统计应用需求。备政府职能部门对统计信息系统的需求日益迫切的背
基于线程的多任务,是一种充分、合理利用计算机资源,提高工作效率的重要手段。多线程编程技术避免了某项任务长期占用CPU时间,既提高了程序的性能,又增强了程序的功能,实现了一些
传统的化学教学模式已经不再符合新课程标准的要求,仅仅为了中考而教学的目标早应当摒弃.教师可以通过自主实验来培养学生们的观察能力、动手能力和演绎归纳推理能力,从而提升学
计算型选择题是各种考试常见的题型,并且在各种试卷所占的比例都较大,因此应该引起高度的重视.为使学生能够准确、快速地解决此类问题,下面把解决此类问题的方法进行归纳.
高尔基说过:"最难的是开始,就是第一句话,如同音乐上一样,全曲的音调都是它给予的,平常得好好去找寻它."课堂教学也如同弹奏乐曲,成功的新课导入对激发学生学习兴趣、调动学生学
摘要:蚁群算法是意大利学者Dorigo于1991年提出的一种模拟进化算法,蚁群算法提出后却在组合优化中获得广泛的应用,如调度、二次分配和网络路由等,本文將蚁群算法进行改进并应用于PID控制器优化,得到了良好效果。  关键词:蚁群算法;指导变异;PID  中图分类号:TP301.6 文献标识码:A 文章编号:1007-9599 (2012) 10-0000-02