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

2.
面向方面编程AOP(Aspect Oriented Programming)为开发者提供了一种机制来描述横切关注点.它能够自动地将横切关注点织入到面向对象的软件系统中,从而实现了横切关注点的模块化.然而AOP这种对横切关注点封装、织入的独特性为分析程序结构带来了困难,对传统的程序分析技术提出了新课题.通过分析AOP程序的特殊性,提出了基于AspectJ构造AOP程序控制流图的方法.该方案可以为AOP程序的理解、验证、测试以及重构提供控制流分析平台.  相似文献   

3.
AOP--横切关注点的解决之道   总被引:1,自引:0,他引:1  
介绍了软件开发中横切关系带来的问题,以及这些问题的当前解决方法和这些方法的缺点。进而介绍AOP的编程方式及其模块化横切关注点的实现,最后总结了AOP的好处并对其在软件开发的前景进行了展望。  相似文献   

4.
介绍了软件开发中横切关系带来的问题,以及这些问题的当前解决方法和这些方法的缺点。进而介绍AOP的编程方式及其模块化横切关注点的实现,最后总结了AOP的好处并对其在软件开发的前景进行了展望。  相似文献   

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

6.
AOP技术在J2EE系统构建中的应用   总被引:2,自引:0,他引:2  
在应用系统构建中,如何处理系统中的横切关注点问题是系统开发成功的关键。用OO技术来实现这些横切关注点,会导致系统侵入式实现,难于理解和维护。而AOP技术是用来模块化横切关注点的新技术。使用AOP技术来实现横切关注点,使得实现容易设计、理解和维护。而且AOP技术使系统开发高效、高质量,更有能力来实现新的特征。Spring是一个实现控制反转模式(IOC)和面向方面(AOP)的轻量级容器框架,它是用来帮助解决企业应用系统中公共问题和处理企业应用系统开发的复杂性。文中介绍了AOP的基本概念和Spring框架,并举例说明了AOP技术在J2EE系统中应用。  相似文献   

7.
AOP及其编织技术的研究   总被引:2,自引:0,他引:2  
AOP(Aspect Oriented Programming)是一种新的编程技术,它为开发者提供了一种描述横切关注点的机制,并能够自动将横切关注点编织到面向对象的软件系统中,从而实现了横切关注点的模块化,通过划分方面代码,横切关注点变得容易处理。介绍了AOP框架中经常出现的概念和AO软件的开发过程,着重讨论了当前比较流行的几种编织技术并阐述了这几种编织技术各自的优缺点。  相似文献   

8.
AOP技术在J2EE系统构建中的应用   总被引:3,自引:1,他引:3  
在应用系统构建中,如何处理系统中的横切关注点问题是系统开发成功的关键。用OO技术来实现这些横切关注点,会导致系统侵入式实现,难于理解和维护。而AOP技术是用来模块化横切关注点的新技术。使用AOP技术来实现横切关注点,使得实现容易设计、理解和维护。而且AOP技术使系统开发高效、高质量,更有能力来实现新的特征。Spring是一个实现控制反转模式(IOC)和面向方面(AOP)的轻量级容器框架,它是用来帮助解决企业应用系统中公共问题和处理企业应用系统开发的复杂性。文中介绍了AOP的基本概念和Spring框架,并举例说明了AOP技术在J2EE系统中应用。  相似文献   

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

10.
面向方面编程(AOP)非常适合管理应用程序横切关注点,如日志、安全性和事务管理。AOP为面向对象编程提供了补充,面向对象编程方法仍旧是处理核心业务关注点的最通用和最强大的编程方法学。AOP能够减少应用程序中的代码分散、代码交织和代码重复。根据它们的实现方法,AOP框架可以被分为两类: 1.基于类编织:如AspectJ和、JBoss AOP。核心关注点和  相似文献   

11.
面向方面程序设计可以模块化横切关注点,因此受到工业界及学术界的广泛关注。目前模块化横切关注点几乎成为面向方面程序设计的代名词,而且有不少人士狭隘地将面向方面程序设计认为是面向对象程序设计的延续、扩展或补充。回顾了面向方面程序设计的定义,分析了产生这一现象的原因。并且形式化了定义中的量化语句和方面,给出了它们的语义。探讨了量化语句和方面的一系列性质,包括量化语句和方面的可满足性,量化语句的包含、交叉及精化关系,方面的同态、同构、构成、完全语义保持精化、语义保持精化及等价替换等关系。该研究为面向方面程序设计的理论研究打下了坚实的基础,也为更好地理解面向方面程序设计提供了有效的帮助。  相似文献   

12.
面向方面编程(Aspect-Oriented Programming,AOP)是目前发展比较迅速的一种新的编程方法。它是面向过程、面向对象方法的进一步发展。AOP通过引入了方面概念,改进了关注点的分离(separation of concerns),减少代码缠结(code tangling),解决了横切关注点(crosscutting concerns)的问题,可以提高软件质量和效率。文章对AOP的基本概念、技术特点和AOP的技术框架现状进行了相关介绍。  相似文献   

13.
AOP技术在面向用户的软件组件测试中的应用   总被引:1,自引:0,他引:1  
面向方面编程AOP(Aspect-Oriented Programming)是一种支持横切关注点的分解技术,表达了更高的抽象层次,能够提供明确的截获横切结构的语言机制.讨论AOP技术在面向用户的软件组件测试技术中的应用,分析了如何使用AOP提高组件测试的可维护性和可复用性.  相似文献   

14.
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  相似文献   

15.
面向方面的程序设计:概念、实现与未来   总被引:11,自引:0,他引:11  
面向对象程序设计(OOP)的出现极大地提高了软件的可读性、可维护性和可复用性,但OOP并没有彻底解决软件的维护和复用问题,本质上是因为OOP难以模块化处理软件系统的横切关注点,以至于业务逻辑代码和其它代码(如日志记录、安全验证等)相互“纠缠”在一起,使得程序难以维护和复用。面向方面的程序设计(AOP)由此诞生,它最主要的设计原则是模块化系统的横切关注点,将业务代码与其它代码解耦,在更高的抽象和分解层次上,进一步提高了软件的可维护性、可复用性和可扩展性。首先深度探索了AOP的起源,然后阐述了AOP的本质,接着介绍了AOP的基本概念并以最为流行的实现语言AspectJ为例,剖析了AOP的实现机制,最后讨论了AOP在软件开发、测试、分析、度量和重构等领域的研究状况。  相似文献   

16.
关于AOP实现机制和应用的研究   总被引:20,自引:2,他引:20  
AOP(Aspect-Oriented Programming)是一种支持横切关注的分解的技术,表达更高的抽象层次。它对于横切关注点就像面向对象程序设计对于对象封装和继承一样,提供了能够明确捕获横切结构的语言机制。一个模块化良好的横切关注点叫一个侧面(aspect)。首先介绍了AOP的基本思想,然后针对侧面代码和功能代码的编织问题讨论了几种典型的AOP实现机制的特点,优势及缺陷,最后展望了AOP的应用和发展方向,为进一步研究提供参考。  相似文献   

17.
面向方面编程技术很好地实现和改进了软件系统横切关注的模块化,是软件发展的一个新的方向.因此,对面向方面的有效测试也就显得非常重要和很有意义,但现在国内外对面向方面测试领域的研究还比较少,对方面之间交互的测试的研究还没有.基于面向方面的语言特性和方面交互的错误模型进行分析研究,开发出相应的框架Aspat,并利用Aspat生成辅助类设计测试用例,识别方面交互中出现的错误.  相似文献   

18.
赵艳  ;刘同明 《微机发展》2008,(10):225-229
面向方面编程(AOP)是面向对象编程(00P)的扩展和延续,能够很好地解决横切关注点问题,实现了业务逻辑与非业务逻辑的解耦合。目前大部分研究还主要是把AOP作为一种程序设计方法加以研究的,实际上,AOP对于软件设计和开发过程的影响是全面的。因此在AOP的基础上,从概念、规约、实现三个视角定义了方面,并从概念层、规约层、实现层三个层次研究了面向方面软件开发(AOSD)的开发过程,在Spring框架下给出了J2EE企业应用系统的实现过程,与只使用OOP方法相比,不但简化了设计,也使代码更具可读性。  相似文献   

19.
面向方面的软件系统动态交互行为建模   总被引:1,自引:0,他引:1       下载免费PDF全文
面向方面编程是一种基于关注点分离的新技术,它成功地解决了面向对象编程中存在的代码缠结和散射问题。但是,在软件设计阶段,面向方面建模并没有得到很好的支持。通过分析面向方面编程的特点以及UML2.0新增的复合片段概念,本文提出了应用顺序图中的可选片段来表示Aspect与组件之间的横切交互行为,并给出将Aspect引入顺序图 的相关规定,实现了UML2.0顺序图对面向方面建模的支持。  相似文献   

20.
Design patterns often need to be blended (or composed) when they are instantiated in a software system. The composition of design patterns consists of assigning multiple pattern elements into overlapping sets of classes in a software system. Whenever the modularity of each design pattern is not preserved in the source code, their implementation becomes tangled with each other and with the classes’ core responsibilities. As a consequence, the change or removal of each design pattern will be costly or prohibitive as the software system evolves. In fact, composing design patterns is much harder than instantiating them in an isolated manner. Previous studies have found design pattern implementations are naturally crosscutting in object-oriented systems, thereby making it difficult to modularly compose them. Therefore, aspect-oriented programming (AOP) has been pointed out as a natural alternative for modularizing and blending design patterns. However, there is little empirical knowledge on how AOP models influence the composability of widely used design patterns. This paper investigates the influence of using AOP models for composing the Gang-of-Four design patterns. Our study categorizes different forms of pattern composition and studies the benefits and drawbacks of AOP in these contexts. We performed assessments of several pair-wise compositions taken from 3 medium-sized systems implemented in Java and two AOP models, namely, AspectJ and Compose*. We also considered complex situations where more than two patterns involved in each composition, and the patterns were interacting with other aspects implementing other crosscutting concerns of the system. In general, we observed two dominant factors impacting the pattern composability with AOP: (i) the category of the pattern composition, and (ii) the AspectJ idioms used to implement the design patterns taking part in the composition.  相似文献   

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

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