首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 109 毫秒
1.
面向方面编程(AOP)的软件开发方式弥补了面向对象编程方式在处理横切关注点时的不足。它提供了一种描述横切关注点的机制,能够自动将横切关注点织入到面向对象的软件系统中。首先介绍了AOP产生的背景、基本概念和语法规范,阐述了基于AOP的软件开发步骤。最后,介绍了实现AOP一种较好的方法。  相似文献   

2.
AOP(Aspect-Oriented Programming)是一种支持分离系统横切关注点的软件复用技术。模块化良好的横切关注点就是方面,方面在编译时或运行时被织入系统。介绍了AOP的基本概念和CGLIB提供的动态扩展机制,详细阐述了如何在拦截器中执行指示并最终基于CGLIB动态实现AOP的方法。  相似文献   

3.
面向切面编程(AOP)作为面向对象编程的补充和完善,通过把横切代码织入到业务组件,能够很好地解决"横切关注点"问题,在对Spring AOP技术进行深入研究后,给出了一个基于注解的Spring AOP的具体应用方案。  相似文献   

4.
目前AOP作为OOP的扩展和补充,成为软件工程领域中的研究热点,其核心思想是分离关注点,实现横切关注点的模块化。实现关注点分离的关键技术之一是方面的编织。重点阐述了AOP系统中方面的具体编织策略,包括方面编织实现策略和织入时间策略。详细介绍了目前四种主流AOP系统:AspectJ、AspectWerkz、Spring AOP以及JBoss AOP的编织机制和技术,通过分析和总结目前AOP系统方面编织策略的优缺点,提出了一种基于XML的图形化方面编织框架——XbGAWF,以及XbGAWF与不同AOP平台的集成模式。  相似文献   

5.
基于AOP的面向对象程序的单元测试   总被引:1,自引:0,他引:1       下载免费PDF全文
张艳  赵建军  冯斌 《计算机工程》2007,33(22):76-79
单元测试被视为横切关注点,在软件测试过程中很重要。而面向方面编程(AOP)的主要目标就是分离横切关注点,因此,单元测试非常适合用AOP来解决。该文提出了在对面向对象程序进行单元测试时遇到的问题,并用AOP方法加以解决,同时比较了传统方法和AOP方法进行单元测试的优缺点。  相似文献   

6.
传统MVC模式下横切关注点问题是一个关系系统性能优化的问题。论文分析了MVC模式的性能目标,建立了基于装饰器设计模式(Decorator Pattern)精简AOP框架的理论模型,实现了权限管理等横切关注点织入方案,并基于实际应用进行了系统架构模式优化,在系统功能与业务功能分离方面得到有效解决,AOP多重拦截方案得到有效建立。实验与实际运行系统表明,Decorator AOP框架在实际应用中降低了系统复杂性、提高了组件重用性并优化了业务流程,具有良好的实用性。  相似文献   

7.
邵付东  刘晓东  杨保明 《计算机应用》2006,26(10):2483-2485
论述了面向方面的编程(AOP)概念及其在处理横切关注点方面的优势,研究了其在程序状态可视化方面的应用,并利用AOP技术实现了一个表达式求值时的程序状态可视化的实例。程序状态可视化功能常常表现为一种横切关注点,相比利用面向对象的编程(OOP)来实现程序状态可视化功能,AOP技术提供了一种更加松耦合且更具模块性的实现方式。  相似文献   

8.
面向方面编程分离了核心关注点和横切关注点,提供了模块化横切关注点的机制,很好地解决了面向对象技术处理横切关注点时存在的代码散布和代码纠缠问题.和日记记录、安全验证等业务一样,持久化也被认为是经典的横切关注点业务,适合用AOP来实现.分析了现有的基于AOP的持久化实现,发现大部分实现过于追求AOP要求的obliviousness特性,而在功能或性能上难以满足现实应用的需求.探讨了持久化的特点及持久方面化的机制,提出了一套实用的基于AOP的持久化框架.该框架保持了面向对象持久化技术的功能及性能,同时又具有方面化持久业务所带来的更高的可重用性、可维护性及可移植性.  相似文献   

9.
在传统的OOP编程中,由于需求空间是N维而实现空间是一维的,导致了软件开发中横切关注点的代码纠缠问题,严重影响了软件的质量.作为OOP的补充,AOP很好地解决了横切关注点带来的问题,提供了核心关注点和横切关注点互相分离的解决方案.本文从具体工程中开发线程监控这一需求所暴露的问题出发,提出了为什么需要AOP编程;然后着重讨论如何通过AOP技术解决这一问题,提出并实现了基于AOP技术的通用线程监控平台.该平台可以在不手工改变系统源代码的情况下通过工具植入系统内部,实现对运行线程信息的监视、对指定线程运行速度的变换和对整个系统运行行为的控制.  相似文献   

10.
基于UML面向方面需求建模   总被引:1,自引:0,他引:1  
面向方面编程(AOP)提供模块化横切关注点的机制,有效地解决横切属性引起的代码混乱和代码分散等问题.但是,AOP目前大都用在程序级和执行级,在软件开发的早期阶段中运用较少.在需求分析阶段分离功能关注点和非功能关注点,运用UML类图、状态图对方面进行建模,并实现非功能关注点的编织,完成系统建模的整个过程,并在此基础上给出了方面间的检测和解决方法.  相似文献   

11.
This paper describes an approach to implementation of aspect-oriented programming (AOP) frameworks for C, outlines traditional AOP facilities for different programming languages, and shows how specific features of C and a build process of C programs affect AOP implementations. Next, we consider additional requirements imposed by a practical application of AOP implementations for C programs. Existing solutions are described and possibility of their use is analyzed. The paper describes a new AOP tool for C that implements the proposed approach and demonstrates its capabilities.  相似文献   

12.
软件重构在不改变程序行为的情况下通过对代码进行小的改进以提升设计,使之更容易理解和维护,面向方面的程序设计是软件开发的新技术,为了有效实施面向方面的软件重构,需要开发者识别面向方面程序的转化规则。然而,由于使用的AOP语言没有形式化的语义定义,难以确认转化和重构的程序运行行为。本文对MCI操作语义的面向方面的扩展使之支持程序的方面特征的描述,定义了两个程序的观测等价,讨论了AspectJ的形式语义模型的建立,在MCI的语义下形式化地精确证明了Add Before-executing编程规则的观测等价性,其基本原理和方法可以适用于其他规则的证明,通过上述工作提出了面向方面重构的程序和它的面向对象程序原型等价性的证明方法。  相似文献   

13.
耦合性是两个模块间相互作用的测度。面向方面编程是一种新的编程范型,它支持关注点的分离。目前,对于面向方面软件耦合度量的常用方法是对软件进行结构分析和静态代码分析。然而,由于系统中的动态绑定以及代码中大量无用的方面代码导致静态度量结果无法精确地反映程序运行时的实际耦合。首先提出适用于面向方面软件的动态耦合度量框架。接着,在该框架的基础上,根据不同的耦合关系类型,形式化定义了动态耦合度量指标集,并验证数学属性。最后,讨论了动态耦合度量工具的实现。  相似文献   

14.
面向方面软件测试的研究进展   总被引:2,自引:0,他引:2  
面向方面编程软件测试技术是保证面向方面软件产品质量的有效手段.首先对AO软件的基本特征进行分析,然后从单元测试、集成测试、回归测试以及测试自动生成工具等多个方面介绍了AO软件测试的研究现状,最后展望了AO软件测试技术的发展前景.  相似文献   

15.
Viega  J. Vuas  J. 《Software, IEEE》2000,17(6):19-21
Aspect-oriented programming (AOP) is a novel topic in the software engineering and languages communities. AOP appears to have the potential to significantly improve the reliability of programs, particularly by modularizing error-handling policies and allowing for easier maintenance and better reuse. In this article, we introduce AspectJ, the first AOP language, and demonstrate how you can use it to construct more reliable software  相似文献   

16.
AOP通过功能方面代替对象能大幅度提高系统的复用率,系统结构简洁、清晰.静态AOP编译组织运行效率高,但需使用专用编译器进行预编译,不能与OOP兼容;动态AOP和静态AOP相比,灵活性高,且语法结构与OOP完全兼容,方便系统开发和移植.但由于动态AOP基于拦截器模式实现,且在运行时组织的特性使其效率低下,AOP组件通常为系统核心组件,对动态AOP的优化对系统性能有重要意义.提出了一种基于字节码迁移技术的动态AOP优化算法,有效提高了动态AOP性能,接近静态AOP的运行效率.  相似文献   

17.
Aspect-oriented programming (AOP) provides mechanisms for the separation of crosscutting concerns - functionalities scattered through the system and tangled with the base code. Existing systems are a natural testbed for the AOP approach since they often contain several crosscutting concerns which could not be modularized using traditional programming constructs. This paper presents an automated approach to the problem of migrating systems developed according to the object-oriented programming (OOP) paradigm into aspect-oriented programming (AOP). A simple set of six refactorings has been defined to transform OOP to AOP and has been implemented in the AOP-migrator tool, an Eclipse plug-in. A set of enabling transformations from OOP to OOP complement the initial set of refactorings. The paper presents the results of four case studies, which use the approach to migrate selected crosscutting concerns from medium-sized Java programs (in the range of 10K to 40K lines of code) into equivalent programs in AspectJ. The case study results show the feasibility of the migration and indicate the importance of the enabling transformations as a preprocessing step  相似文献   

18.
面向方面程序的错误分析是建立有效的面向方面软件测试方法的基础.本文基于主流的面向方面编程语言AspeetJ,从动态横切实现角度,针对新引入的方面语言部件的使用,提出面向方面程序中可能出现的两大类共五种错误类型:连接点签名语法匹配错误,连接点控制流行为语义匹配错误,连接点横切功能代码对连接点接口契约的前置条件、后置条件以及不变量的影响造成的错误.通过结合典型实例给出这些错误类型的表现,分析错误的特征,并对各种错误类型进行了测试角度的思考.  相似文献   

19.
章程 《微型电脑应用》2007,23(1):1-4,18
面向方面编程(AOP)是一种新兴的编程方法,其核心思想是分离程序中的关注点,并提供某种机制,以表达横切多个组件的关注点。契约式设计(DbC)是构建高可靠面向对象系统的设计方法,它通过规定组件间的行为契约来保证程序的正确性。本文简单介绍了AOP和DbC,然后通过尝试在Observer设计模式中加入契约,研究了使用AOP支持DbC的方法,进而设计和实现了一个AOP代码生成器,并分析了该生成器的特点。  相似文献   

20.
面向方面的程序设计综述   总被引:1,自引:0,他引:1  
现在大多数的软件项目都选择OOP,但OOP技术也有其局限性,它对某些需求并不能很好地进行描述。本文介绍了一种全新的程序设计方法一面向方面的程序设计方法,这种程序设计方法可以有效地描述OOP方法不能描述的横切关注点;介绍了面向方面程序设计的基本思想以及面向方面程序设计语言AspectJ的基本概念及面向方面软件开发方法。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号