面向方面重构的研究

面向方面重构的研究

论文摘要

重构是在保留软件外部行为的同时重新组织代码的过程和一组技术,由于它在创建敏捷代码方面的实用价值而受到普遍欢迎。目前的重构步骤只是将代码模块化为整洁的面向对象实现,不能很好得解决横切关注点引发的问题。面向方面编程能够实现关注点的分离,解决横切属性引起的问题,并有助于更好地对系统进行分析和理解,增强软件系统的自适应性、可维护性和可复用性。本文将面向方面编程引入到重构中,协同地组合这两种技术来重构横切元素。本文首先在论述重构和面向方面编程基础上,提出将面向方面编程和软件体系结构结合起来,用面向方面重构方法解决软件重构中横切问题。并论述了该方法内容、特点和步骤,为本课题的研究奠定了理论基础。其次,提出了对横切关注点进行识别和封装的方法。横切关注点的识别和封装是面向方面重构的重要内容。本文对Java语言遗留系统中横切关注代码的识别方法,以及利用面向方面技术进行横切关注点封装的方法进行了研究。对横切关注点的识别采用了基于类关系图的识别方法,并将识别出来的横切关注代码用树状的结构进行了存储和表示。然后针对搜索结果的形式,提出了对横切关注点进行方面封装的方法。由于aspect机制的存在,使得原有的面向对象重构方法在面向方面范型中不再完全适用。本文最后对若干典型的面向对象重构方法作了补充,以适用面向方面范型,并探讨了AspectJ中Aspect机制自身重构问题。

论文目录

  • 摘要
  • Abstract
  • 第1章 绪论
  • 1.1 课题的提出及研究意义
  • 1.1.1 应用系统开发中的现状与不足
  • 1.1.2 重构技术应用的必要性
  • 1.1.3 AOP技术应用的意义
  • 1.2 软件重构的研究现状
  • 1.3 本文工作
  • 1.4 本章小结
  • 第2章 重构和面向方面编程
  • 2.1 重构技术
  • 2.1.1 重构的作用
  • 2.1.2 重构的原理
  • 2.1.3 大型重构方法
  • 2.1.4 重构的实施原则
  • 2.2 面向方面编程技术
  • 2.2.1 横切关注点分离的提出
  • 2.2.2 AOP技术概述
  • 2.2.3 AOP实现机制
  • 2.2.4 AOP核心技术点
  • 2.2.5 AOP的主要开发步骤
  • 2.2.6 AspectJ
  • 2.3 本章小结
  • 第3章 面向方面重构
  • 3.1 软件重构与 AOP的关系
  • 3.1.1 共性关系
  • 3.1.2 对立关系
  • 3.2 面向方面重构的特点
  • 3.3 面向方面重构的内容
  • 3.3.1 遗留系统的方面识别和封装
  • 3.3.2 面向方面程序的重构
  • 3.4 面向方面重构的步骤
  • 3.5 本章小结
  • 第4章 横切关注代码的识别
  • 4.1 类关系图
  • 4.2 程序风格
  • 4.2.1 横切关注的良好布局
  • 4.2.2 几种横切关注行为的表现
  • 4.3 横切关注代码的信息确认
  • 4.3.1 搜索过程中一些情况的说明
  • 4.3.2 获取搜索的入口信息
  • 4.4 利用类关系图搜索横切关注代码
  • 4.4.1 方式一对应的横切关注搜索方法
  • 4.4.1.1 入口节点的确定
  • 4.4.1.2 搜索和识别的过程
  • 4.4.2 方式二对应的横切关注搜索方法
  • 4.4.2.1 入口节点的确定
  • 4.4.2.2 搜索和识别的过程
  • 4.5 识别结果的描述
  • 4.6 本章小结
  • 第5章 识别结果的方面封装
  • 5.1 AspectJ高级特性的简要介绍
  • 5.2 方面的封装方法
  • 5.2.1 空 Aspect的声明
  • 5.2.2 建立 Aspect内部类型成员声明
  • 5.2.3 在搜索结果中识别通知体
  • 5.2.4 识别连接点并确定命名切入点标识的具体定义
  • 5.2.5 方面的整理
  • 5.3 本章小结
  • 第6章 AspectJ程序的重构
  • 6.1 AspectJ中使用 OOP重构方法的讨论
  • 6.1.1 排除覆盖方法
  • 6.1.2 增加切点方法
  • 6.2 对三种基本重构方法的补充
  • 6.3 AspectJ中 Aspect机制自身重构问题的探讨
  • 6.4 本章小结
  • 第7章 结论
  • 7.1 论文工作总结
  • 7.2 进一步研究的工作
  • 参考文献
  • 致谢
  • 作者简介
  • 攻读硕士期间发表的论文和参加科研情况
  • 相关论文文献

    • [1].一种导电连续相流速重构方法研究[J]. 传感技术学报 2020(09)
    • [2].电力线通信噪声信号压缩与重构方法与效果评价研究[J]. 中国新通信 2019(23)
    • [3].基于应变监测的升降舵壁板变形重构方法[J]. 计测技术 2020(01)
    • [4].基于大数据的多串口通信信息流匿名重构方法研究[J]. 信息与电脑(理论版) 2020(03)
    • [5].基于卷积神经网络的页岩重构方法[J]. 上海电力大学学报 2020(04)
    • [6].三维曲面重构方法分析[J]. 企业技术开发 2012(35)
    • [7].基于FPGA的嵌入式系统中动态可重构方法研究[J]. 大庆师范学院学报 2015(03)
    • [8].基于三次样条插值重构方法对西太平洋海洋要素时空分布的分析[J]. 海洋通报 2008(04)
    • [9].机翼蒙皮天线的形变重构方法和实验[J]. 电子机械工程 2020(05)
    • [10].各稀疏重构方法在雷达方位角估计中的适用性分析[J]. 科技创新与生产力 2017(02)
    • [11].汉字在现代平面设计中的重构方法[J]. 大舞台 2014(11)
    • [12].漏磁检测中的缺陷重构方法[J]. 电测与仪表 2015(13)
    • [13].基于多项式拟合的细长梁结构振动位移重构方法[J]. 振动与冲击 2020(11)
    • [14].应用于偏振重构方法中的高精度梯度场积分法[J]. 长春理工大学学报(自然科学版) 2020(05)
    • [15].一种高光谱图像分布式压缩感知重构方法[J]. 电子设计工程 2013(14)
    • [16].基于FPGA的动态局部可重构方法分析与比较[J]. 广西科学院学报 2009(04)
    • [17].基于编码的秘密重构方法研究[J]. 电子科技大学学报 2016(01)
    • [18].多孔介质微观模型重构方法研究[J]. 油气藏评价与开发 2012(02)
    • [19].一种消除双馈电机转矩脉动的磁场重构方法[J]. 电工技术学报 2011(07)
    • [20].基于对象的数字事件重构方法[J]. 网络安全技术与应用 2008(05)
    • [21].基于扩散滤波的多尺度分解和重构方法及应用初探[J]. 计算物理 2013(06)
    • [22].家庭重构方法与历史人口学研究[J]. 世界历史 2011(02)
    • [23].基于傅立叶分析的非均匀采样信号内插重构方法[J]. 齐齐哈尔大学学报(自然科学版) 2011(06)
    • [24].一种改进的基于因果关联的攻击场景重构方法[J]. 微电子学与计算机 2009(06)
    • [25].制造资源快速重构方法[J]. 大家 2010(19)
    • [26].一种用于水下图像的光谱重构方法:理论及应用(英文)[J]. 红外与激光工程 2017(03)
    • [27].Linux衍生版的重构方法研究[J]. 计算机与现代化 2011(12)
    • [28].视频侦查中背景重构方法研究[J]. 中国刑警学院学报 2016(04)
    • [29].基于实测数据的凝视红外系统重构方法[J]. 红外技术 2017(05)
    • [30].利用可重构方法指导循环冗余校验码的教学实践[J]. 软件 2013(09)

    标签:;  ;  ;  ;  

    面向方面重构的研究
    下载Doc文档

    猜你喜欢