软件设计模式及其使用.docVIP

  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文档。上传文档
查看更多
PAGE PAGE 1 软件设计模式及其使用   摘要:在计算机软件快速发展的今天,软件设计模式在计算机程序设计的运用中越来越重要。软件设计模式按其完成工作的种类可分为了创建型的模式、结构型的模式以及行为型的模式。在实际应用中根据分析研究问题的结果选择和使用合适的软件设计模式。   关键词:软件设计设计模式模式分类模式选择模式使用   中图分类号:P631文献标识码:A文章编号:1007-9416(2013)04-0194-01   关于模式这个概念,最早的时候是在城市建筑领域当中出现的,而ChristopherAlexander[1]所写的一本关于建筑的书中对模式这一概念有明确的定义,其大概含义是说每一个模式都是描述我们周围发生的事情,并对发生的问题进行合理的解释,使得利用这个模式就可以重复的解决类似的问题。ChristopherAlexander利用他所得出的模式这个概念解决了建筑领域中的一些问题,模式这一概念发展到现在,已经逐渐成为计算机领域当中独有的概念了。   1软件设计模式分类   对软件设计模式的分类有许多不同的方法,在这里主要是根据模式在计算机软件设计中能够完成何种种类的工作来决定的,大致可以分为创建型的模式、结构型的模式以及行为型的模式这三种类型。而当模式运用于不同因素的时候又可以分为不同的类型,运用于类的时候可以分为类模式,运用于对象的时候可以分为对象模式。所谓类模式就是处理系统中的类与子类之间关系的模式,这些关系可以通过继承的形式来建立,静态的类模式在进行编译的时候便要确定下来;所谓对象模式,就是处理对象之间关系的模式,这些关系在系统运行的时候是能够不断变化的,所以对象模式是动态的模式。   第一,创建型的软件设计模式。创建型的设计模式是和对象的创建有着十分必然的关系,也就是说,在描述创建对象的时候,要将对象创建过程的具体细节进行隐藏设计,使得系统程序代码能够不依赖具体的对象。所以当我们需要在系统中增加一个新的对象的时候,是不需要修改系统的源代码的。创建型的类模式需要将对象当中的部分在子类当中进行延迟性的创建工作,而创建型的对象模式则是将对象的部分在另一个对象中进行延迟性的创建。   第二,结构型的软件设计模式。结构型的软件设计模式是处理类的和处理对象的设计模式的组合形式,也就是能够描述类与对象之间的大的结构如何组建起来,并且在组建之后还能够拥有新的功能的一种模式。结构型的类模式是采用继承性的机制来对类进行组合。而结构型的对象模式则是能够描述对象之间的组装方式。   第三,行为型的软件设计模式。所谓行为型的软件设计模式所描述的是算法和对象之间所拥有的任务或者职责的分配情况,这其中不仅包括所需要的类或者对象需要的设计模式,还包括类和对象之间需要的通讯模式。这些模式的存在使得系统运行过程中难以追踪的十分复杂的控制流得到了良好的刻画。行为型的软件设计模式是使用继承机制来对类进行必要的分配工作,而在使用对象的时候是使用对象的复合而并非继承,所要描述的是一组对象是如何在合作的情况下完成单独的对象无法独自完成的任务。   2软件设计模式的选择和使用   通过上面介绍的面向对象的软件设计模式,我们了解到软件设计模式的存在能够极大限度的帮助设计者用最快最好的方式来完成相关的软件程序设计。而面对特殊的问题的时候,在已有的软件设计模式中也可以十分方便的找到合适的软件模式进行相关的程序设计,尤其是在面对软件设计人员还不熟悉的新问题的时候。   在对软件设计模式进行选择的时候,应该先理解问题所表现出来的需求,问题中所表现出来的任何需求都能够在一个或者几个的问题领域中找到类似的地方,这种理解问题的需求再在不断的寻找过程中找到可能需要的软件设计模式或者软件设计模式组的过程,对有效的选择软件设计模式从而完成软件设计有着十分重要的作用;在了解了问题的需要并选择了大概的软件设计模式范围之后,再就问题所表现出来的需求对软件设计模式进行最终的选择,并在选择的过程中不断了解这种软件设计模式是如何解决这一类型的问题的。每一类软件设计模式都能够解决一类软件设计方面的问题,每个模式的存在都有其含义,对需要的软件设计模式进行必要的了解,才能够选择最适合解决问题的软件设计模式或者软件设计模式组。与此同时,软件设计模式有许多都是能够相互补充的,所以在选择合适的软件设计模式的时候,应该就设计模式之间的联系要进行必要的研究,这对选择出适合的软件设计模式组有着十分重要的指导意义。尤其是在对一个实际存在的问题进行程序设计的时候,更加应该着重考虑可能影响到软件设计的因素,研究这些因素是否会对系统产生不良影响。   在选择了合适的软件设计模式之后,就要把软件设计模式合理的运用到系统的设计当中,这需要循序渐进的进行。一是必须理解所选择出来的软件设计模式,能够清楚

文档评论(0)

gmomo-lt + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档