以设计模式为导向的自动化重构技术的研究与实现

以设计模式为导向的自动化重构技术的研究与实现

论文摘要

如今,重构已经成为了一项重要的实践技术,能够在不改变程序外部表现的情况下,改善代码的内部表现,从而有效地改善代码质量。重构不是简单的修改代码,而是一种系统化的,能够确保代码前后一致性的代码修改方式。重构技术的出现,改变了软件开发的整体思路,使得软件能够更灵活的应对需求的变化。同时,设计模式作为对长期开发过程中最佳实践方式的总结和提炼,为代码的结构提供了良好的指导方向。使用设计模式可以增加代码的可重用性,可理解性,灵活性和可靠性。设计模式为软件的设计提供了框架和指导,恰当的应用设计模式能产生更优雅的代码。如果能以重构的方式在软件开发的进程中,为代码引入适当的设计模式,将有效的避免软件开发初期为了应对将来可能的需求变化而导致的过度设计。同时也能够让程序员从繁琐的重构细节中解放出来,站在更高的层次规划软件结构。目前,已经有了较为成熟的工具,如Eclipse等,为重构提供了良好的自动化支持。不过,这些工具大多只支持基本的重构操作,不能在设计模式层面对代码进行重构。本文便提出了一种整体框架,通过对基本重构操作的组合,自动化地将代码重构为指定的设计模式。同时,设计并实现了一个Eclipse的重构插件原型,作为对该整体框架的一个参考实现,以检验组合重构操作的正确性和有效性。本文所设计的Eclipse插件原型主要针对GoF所提出的23个经典的设计模式,不过本文所提出的方法框架并不局限于这23个模式。对于其他模式,只要能够按照本文所提出的方法进行处理,也一样能够被本文框架所支持。

论文目录

  • 摘要
  • ABSTRACT
  • 第1章 绪论
  • 1.1 研究背景
  • 1.1.1 重构技术
  • 1.1.2 设计模式
  • 1.1.3 重构与设计模式结合应用的意义
  • 1.1.4 Java 自动化重构工具比较
  • 1.2 关于本文
  • 1.2.1 研究目标
  • 1.2.2 研究内容
  • 1.2.3 全文结构
  • 第2章 相关研究介绍
  • 2.1 基于微模式的重构方法
  • 2.1.1 方法概述
  • 2.1.2 整体框架
  • 2.1.3 重构操作的入口:前驱位置
  • 2.1.4 微模式和微转换
  • 2.2 基于决策树的重构方法
  • 2.2.1 方法概述
  • 2.2.2 总体结构
  • 2.2.3 决策树模型
  • 2.3 基于规则推理的重构方法
  • 2.3.1 方法概述
  • 2.3.2 推理规则和重构策略
  • 2.4 本章小结
  • 第3章 整体方法设计
  • 3.1 方法概述
  • 3.2 方法框架
  • 3.2.1 总述
  • 3.2.2 模式仓库
  • 3.2.3 Annotation 辅助标识
  • 3.2.4 重构实施器
  • 3.2.5 重构前后代码一致性保证
  • 3.3 对现有设计模式的支持情况
  • 3.4 本章小结
  • 第4章 设计模式重构算法具体设计
  • 4.1 ABSTRACT FACTORY
  • 4.1.1 模式说明
  • 4.1.2 Annotation 设计
  • 4.1.3 重构中主要问题
  • 4.1.4 具体重构算法
  • 4.1.5 示例
  • 4.2 PROXY
  • 4.2.1 模式说明
  • 4.2.2 Annotation 设计
  • 4.2.3 重构中主要问题
  • 4.2.4 具体重构算法
  • 4.2.5 示例
  • 4.3 MEDIATOR
  • 4.3.1 模式说明
  • 4.3.2 Annotation 设计
  • 4.3.3 重构中主要问题
  • 4.3.4 具体重构算法
  • 4.3.5 示例
  • 4.4 本章小结
  • 第5章 ECLIPSE 插件原型设计
  • 5.1 整体设计
  • 5.2 模式仓库设计
  • 5.3 ANNOTATION 处理器设计
  • 5.4 重构实施器设计
  • 5.5 类结构设计汇总
  • 5.6 重构处理流程
  • 5.7 界面演示
  • 5.8 本章小结
  • 第6章 结论
  • 6.1 全文总结
  • 6.2 未来工作
  • 参考文献
  • 致谢
  • 参与课题及已发表论文
  • 相关论文文献

    标签:;  ;  ;  

    以设计模式为导向的自动化重构技术的研究与实现
    下载Doc文档

    猜你喜欢