基于设计模式的重构方法及工具

来源 :吉林大学 | 被引量 : 0次 | 上传用户:MickeyMouse01
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在整个软件生命周期内,大多数的软件系统都需要不断的修改以适应需求的变化,或者为了在不同的应用环境得到重用,必须恰当的改写其中的部分模块。通常这种操作需要非常大的成本消耗,在某种意义上说,通过大量强壮性检测和测试才得到合格程序,不得不针对软件系统的改变进行重新测试,这种活动会一直持续直到此软件生命周期结束。为了应付这种软件维护的相关问题,我们需要一个系统而安全的方法来修改这种运行时或遗留软件系统。重构是一种安全的重建技术,它可以使被重建程序保持重建前程序的行为不变。各种各样的重构技术已经被提出,有的可以对用UML类图表示的软件结构进行修改,有的是一些基于源代码的量化度量,或静态分析的自动化程序转换。其共同点是一种重构技术提供了一套基本重构操作,并允许这些基本重构以顺序或组合的方式形成更高级别的重构,这会涉及向个软件质量问题,例如,更高的模块化,表示程度的提高,更低的代码冗余等等。设计模式是类、对象、方法间的关系的重现模式的一个集合。每个设计模式描述了它自已的应用领域和基本原则。这样,这种基本原则和应用领域就可以作为高水平重构的一个方向。设计模式模式之所以被广泛使用,是因为它提供了设计级的重用性,可理解性和灵活性。尤其是这种灵活性在某种意义上说使软件的形式更广泛并且对需求变化的敏感度降低。本文要讨论的重建是要对一个已存在的面象对象程序自动化引入设计模式。通常的场景是这样的:一个已存在的程序随着新需求的出现将要被扩展,在研究了代码和新需求后,设计者得出结论,已存在的程序结构使想要的扩展很难完成,应该应用某种特定的设计模式来给程序带来必要的灵活性。正在这种情况下,我们决定要尝试提供自动化的程序支持。由设计者选择可应用设计模式和参与重建的程序组件,使用工具对选定的程序组件应用设计模式,同时保持程序的行为不变。本文的目标是使设计者摆脱烦杂而易出错的代码重组过程。在这篇论文里,将展示并论证了这样一种自动化设计模式转换的方法。本文的工作是建立在Opdyke的不变式和Robert的组合重构计算的基础上的,描述了组合重构的方式,并展示了一种计算组合重构的前置后置条件的技术。这种技术的重要性在于它作为一个组合重构去实现设计模式的重构,这是通过检查组合的合法性并计算它的整体的前置条件实现的。<WP=66>设计模式转换有很大程度的共性,文中列出了五种模式重构,这些重构已经被实现而且在设计模式的转化开发中有很广泛的应用性。本文设计并实现了一个原型设计模式转换工具,实现了在文中讨论的设计模式重构。本文实现的模版方法和策略两种模式重构为已有系统的设计和实现提供了继承和委托两种不同的复用方式。同时还实现了三种创建型模式的重构,其中工厂方法模式重构提供一种推迟对象的创建到子类的机制,从而实现了对产品使用逻辑的复用;建造模式重构使已有系统的产品生成过程与产品的内部表象实现了解藕,使得产品的内象表象可以独立的演化并且把产品内部组成的细节对用户隐藏,而当要产品的生成过程也需要演化时,可以进一步重构过渡到桥模式;单例模式重构为系统提供了一种产生唯一实例的机制,当系统需要全局访问点时可以应用这种重构。 在本文的讨论方向还有进一步的工作有待未来进行,首先在模式维护方面,应用模式转换改变了程序的代码,而一些变化是需要维护的以保持模式的不变,这意味着某种限制应该加到未来可能的程序演化。例如:具体模板中加入新方法,则要求询问是否要将此方法抽象到抽象模板中,加入这样的限制检查是对本文工作的一个扩展。本文主要是针对Java程序的设计模式的转换,这使本文的方法扩展到应用到其它语言会有一些问题,此外我们希望如果前置条件转化失败,程序可以自动改变以适应等转换的模式,这是未来的一个研究方向,如果能够实现则有望把此方法应用到更广泛的程序转换范围。
其他文献
在“琉球事件”当中,社会舆论对于藩属国的一般态度如何,如何认识日本对琉球两属现状的改变?是否认识到了日本对琉球要求有“领有权”的国际背景?在整个事件当中人们的对外观念
介绍了彩色沥青玻纤瓦在屋面维修工程上的应用,指出了该瓦的性能、施工工艺及注意事项等方面的问题,阐述了屋面细部构造的做法。
权益和社会保障作为公共部门人力资源管理最为重要的内容之一,在全部人力资源管理活动中发挥着基础性的作用。在公共部门人力资源保障管理这一总的主题之下,几乎涉及到了公共部
在过去的25年里,人们惊喜地发现华裔美国文学已成为人们不可忽视的文本,它对美国多元文化的发展贡献卓越。华裔作家向世人奉献了许多优秀作品,传达了他们在多元文化中的独特经历
介绍了一种在Excel中利用格氏法快捷计算选煤产品实际产率的方法。
医院建设项目具有投入资金多、规模大、涉及面广、建设周期长、社会影响深远等特点,其全生命周期各阶段会面临各种各样的风险,科学评价这些风险对促进医院建设项目顺利实施和
<正>1962年10月,全世界都很紧张。美苏两国正在古巴导弹危机中对峙,中苏关系持续恶化,中印边界战争爆发,蒋介石认为"反攻大陆"的时机终于成熟,派遣特务偷渡到广东沿海地区。
本文立足于研究商务英语专业课程设置的合理性和学科渗透的科学性,在问卷调查的基础上分别就高中毕业生对大学商务英语专业课程设置期望值和大学外贸(商务)英语专业大学生对
本课题主要探讨中药黄芩、白术对Th1/Th2型细胞因子、一氧化氮(NO)含量的影响及其是否能在提高胚胎移植成功率方面发挥作用,为体外受精—胚胎移植(VIF-ET)的妊娠率提高在理论上
<正> 一朵玫瑰,一束鲜花,常作为爱情、友谊、和平与幸福的象征。你可曾知道,在欧洲历史上,曾有一段时期,人们几乎把每种花草都赋予一定的情感,并作为语言来传递感情的信息。
期刊