AOP开发过程研究及应用
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
当前,软件开发方法学中最为流行的无疑是面向对象方法。它能够有效地对系统的业务关注进行模块化开发。但是,在应对系统中众多的横切关注时,面向对象方法并没有很好地对其进行支持,而是直接将其代码与核心关注地代码混杂在一起,导致了系统功能代码之间的纠结,加大了系统开发与维护的难度。
     面向方面作为面向对象的补充,进一步将系统中的核心关注与横切关注进一步分离。通过将其应用到实际系统中,可以提高代码的重用性,所开发的系统更加具有可扩展性。
     本文首先分析介绍了面向对象方法,分析了它的优点及不足,引出了面向方面编程。而后介绍了面向方面为软件开发方法带来的影响,对AOP的思想与实现机制做了详细介绍,并阐述了使用其进行软件开发的一般步骤,并对UML进行了部分扩展,以支持系统开发前期面向方面的分析设计。最后使用扩展的UML,将面向方面引入一个实际的系统开发过程,展示了面向方面开发的各项优点。
Currently, the most popular method of software development is Object-Oriented method, which can effectively works in modeling business concerns. But, OO does not support the cross-cut concerns in system very well, it puts the codes of cross-cut concerns and the codes of core concerns together, which results in the tangle of different functions in system, and enlarges the difficulty of system development and maintenance.
     As a reinforce of OO, AO (Aspect-Oriented) separate the cross-cut concerns from the core concerns in systems. The systems developed by AO have better extensibility and maintainability.
     This paper first analyses the advantage and disadvantage of OO, elicits the concept of AOP (Aspect-Oriented Programming). Then introduces the influence AOP brings, the realization mechanism of AOP, and the common development steps of AOP. Next, partly extends UML to suit the analysis and design of AO. Finally, with the extended UML, shows an entire development procedure of a real system, and concludes the advantage of all aspects by using AO.
引文
[1] http://www.aspectj.org/
    [2] http://www.springffamework.org/
    [3] http://www.uml.org.cn/
    [4] http://www-128.ibm.com/developerworks/cn/?ca=cnhomepage&re=resources_devworks
    [5] http://www.aspectc.org/
    [6] http://msdn2.microsoft.com/
    [7] http://dev2dev.bea.com.cn/
    [8] Ivar Jacobson,Pan-Wei Ng,徐锋泽,AOSD中文版—基于用例的面向方面软件开发[M].电子工业出版社,2005
    [9] Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides,李英军等译,设计模式:可复用面向对象软件的基础[M].机械工业出版社,2003。
    [10] Michael J. Yuan, Norman Richards, Lightweight Aspect-Oriented Programming[M], 2003
    [11] Andrei Popovici, Thomas Gross, Gustavo Alonso, Dynamic Weaving for Aspect-Oriented Programming[M], ACM Press, 2002
    [12] 邱仲潘,UML with Rational Rose从入门到精通[M].电子工业出版社,2002
    [13] 阎宏,Java与模式[M].电子工业出版社,2002
    [14] Bjom D Rasmussen, Casper S Jensen, Jimmy Nielsen, Aspect-Oriented Programming in. Net[D], Department of Computer Scinece, Alborg University, 2004
    [15] 隋国辉..Net平台AOP框架应用研究[D].四川大学硕士学位论文,2005
    [16] 范国强.面向方面开发方法的一种改进[D].同济大学硕士学位论文,2006
    [17] 杨军.面向Aspect编程(AOP)的研究与应用[D].湖北工业大学硕士论文,2005
    [18] 曾路,张立臣.Weave.Net——基于.Net平台的AOP技术[J],计算机应用研究,2005(5):225-226.
    [19] 曹东刚,梅宏.面向Aspect程序设计——一种新的编程范型[J].计算机科学,2003(9):1565-1572.
    [20] 王砚霖,王世耆.面向方面编程和AspectJ[J],电脑编程技巧与维护,2004(11).
    [21] 吕国科,李平立.AOP程序设计方法及其C++语言支持的研究[J].计算机应用研究,2003(12):48-50.
    [22] 董云卫,郝克刚.一种面向方面的软件体系结构[J].微机发展,2004(6):61-63.
    [23] 付登科等.AOP改进观察者模式——实现关注点的分离[J].计算机应用,2005(12):410-412.
    [24] 何丽莉等,关注分离问题研究综述[J].计算机科学,2005(2):129-132.
    [25] 潘晔,任广伟.基于AOSD的Web架构规划[J].计算机技术与发展,2006(12):52-54.
    [26] 朱志军,庄成三.郑炳伦,基于.Net的轻量级AOP技术[J].现代计算机,2005(3):19-22.
    [27] 郭东亮,张立臣.基于扩展UML的面向方面的建模[J].计算机工程,2006(10):100-102.
    [28] 李志纯,张南平.面向Aspect编程的应用研究[J].计算机技术与发展,2006(5):217-222.
    [29] 李青,闻敬谦,赵萌.基于AOP的工作流系统与企业信息系统集成研究[J].计算机集成制造系统,2006(3):401-406.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700