设计模式和其在软件设计中的应用研究.docVIP

设计模式和其在软件设计中的应用研究.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
设计模式及其在软件设计中的应用研究 Internet无疑是20世纪末伟大的技术进展之一,为我们提供了一种全球范围的信息基础设施.这个不断延伸的网络基础设施,形成了一个资源丰富的计算平台,构成了人类社会的信息化、数字化基础,成为我们学习、生活和工作的必备环境.如何在未来Internet平台上进一步进行资源整合,形成巨型的、高效的、可信的和统一的虚拟环境,使所有资源能够高效、可信地为所有用户服务,成为软件技术的研究热点. Internet平台具有如下基本特征:无统一控制的“真”分布性;节点的高度自治性;节点链接的开放性和动态性;人、设备和软件的多重异构性;实体行为的不可预测性;运行环境的潜在不安全性;使用方式的个性化和灵活性;网络连接环境的多样性等.因此,Internet平台和环境的出现,对软件形态、技术发展、理论研究提出新的问题,也提供了新的契机. 传统软件的开发基于封闭的静态平台,是自顶向下、逐步分解的过程,因此传统软件的开发,基本都是首先确定系统的范围(即Scoping),然后实施分而治之的策略,整个开发过程处于有序控制之下.而未来软件系统的开发所基于的平台是一个有丰富基础软件资源但同时又是开放、动态和多变的框架,开发活动呈现为通过基础软件资源组合为基本系统,然后经历由“无序”到“有序”的往复循环过程,是动态目标渐趋稳态.未来软件基本模型由于所处平台的特性和开放应用的需求而变得比任何传统的计算模型都更为复杂,软件生命周期由于“无序”到“有序”的循环而呈现出不同于传统生命周期概念的“大生命周期概念”,程序正确性由于目标的多样化而表现为传统正确性描述的一个偏序集,软件体系结构侧重点从基于实体的结构分解转变为基于协同的实体聚合,软件生产过程和环境的变化导致基于Internet的面向用户的虚拟工厂的形成. 作为控制软件复杂性、提高软件系统质量、支持软件开发和复用的重要手段之一,软件体系结构(software architecture,简称SA)自提出以来,日益受到软件研究者和实践者的关注,并发展成为软件工程的一个重要的研究领域.长期以来,CMU.SEI在其网站上公开征集SA 的定义,至今已有百余种.其中较有影响力的定义包括:1)软件系统的结构(structure or structures),包含软件元素、软件元素外部可见的属性以及这些软件元素之间的关系软件系统的基本组织,包含构件、构件之间、构件与环境之间的关系,以及相关的设计与演化原则等. 这些定义一般都将构件以及构件之间的连接作为SA的基本组成部分.最初,SA概念的提出是为了解决从软件需求向软件实现(包括代码)的平坦过渡问题,认为SA是软件系统的抽象描述,可作为系统实现的蓝图,担当从需求到实现的桥梁.所以,早期的SA研究主要集中在软件生命周期的设计阶段,关注如何通过SA解决软件系统的前期设计问题,典型的研究点如体系结构描述语言、体系结构风格、体系结构的验证、分析、评估方法等。 90 年代中期, 基于面向对象理论的设计模式得到了进一步的发展, 之后Erich Gamma 等人给出了设计模式的定义.设计模式关注的是特定设计问题及其解决方案, 它描述了如何利用面向对象的基本概念和机制来解决可扩展的软件设计中经常出现的问题,并针对设计问题给出可复用的解决方案,而这个解决方案是对反复出现的设计结构进行识别和抽象得到的.同时,每个模式都伴有定义的语境和强度,语境解释了模式的适用情况,强度是语境中的元素.如果问题的环境与模式的语境和强度相匹配,该模式便可应用.因此,设计模式是软件人员在面向对象软件设计中,经多次验证的成功解的记录与提炼.设计模式的描述方法包括自然语言描述法、统一标记语言(UML)描述法、形式化语言描述法.自然语言描述法比较简单、方便,但在现实与设计之间的过渡描述不够流畅.对象建模技术(OMT)描述法是利用类图和对象图对设计模式中的类、实例以及整体模式结构进行图形描述的方法,而UML 是在OMT 基础上进一步发展起来的,其描述更加清晰和统一,符合大部分软件设计人员的习惯,也便于设计人员的理解和应用.形式化语言主要包括DisCo、LePUS、LayOM、ADV/ ADO、CDL、PDL、PDSP 等,其中DisCo 侧重于描述设计模式中参与者的交互行为。 1 模式的选取 各种模式均有其自身特点和适用范围,所以在选取模式前应充分了解模式的内涵及侧重点,发掘出不同模式的适用规律.常用模式的应用规律有如下几种. (1)享元(Flyweight)模式.该模式可用于实现共享细粒度符号对象, 主要解决由于系统存在大量类似的、具有共性的对象而严重影响系统性能的问题.此时,可将对象的共同信息提取出来并作为一个新的Flyweight 对象, 而原有对象需要的且重复的信息描述只需要在一个共享的F

文档评论(0)

feiyang66 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档