- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
设计模式在TWaver中应用研究
设计模式在TWaver中应用研究 摘要:本文从设计模式的观点分析了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)无法做到的,因为这违背了关系分离的原则,在这种情况下,表现者模型需要与域模型绑定,这样就可
文档评论(0)