Java中实现基于Aspectwerkz的AOP开辟[Java编程]
本文“Java中实现基于Aspectwerkz的AOP开辟[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
1、AOP编程概览
面向对象编程技术进入软件开辟的主流对软件的开辟方法产生了极大的影响,开辟者可以用一组实体以及这些实体之间的关系将系统形象地表示出来,这使得他们可以计划出规模更大、更复杂的系统,开辟周期也比从前更短.OO开辟的唯一问题是,它本质上是静态的,需求的渺小改变便大概对开辟进度造成庞大影响.
Aspect-Oriented Programming(AOP)是对OO技术的增补和完善,它答应开辟者动态地改正静态的OO模子,构造出一个可以不断增长以满意新增需求的系统,就象实际世界中的对象会在其生命周期中不断改变自身,利用程序也可以在发展中拥有新的功效.
比方,很多人想必有过在开辟简单的Web利用时将Servlet作为进口点的经验,即用Servlet接纳HTML表单的输入,经过处理后返回给用户.开始时的Servlet大概是非常简单的,只有刚好满意用户需求的最少量的代码.但是,随着“第二需求”的实现,比方实现非常处理、安全、日记等功效,代码的体积就会增添到本来的3、四倍——之所以称之为“第二需求”,是因为Servlet的基本功效是承受和处理用户的恳求,关于这个目标来说,日记、安全之类的机制并非必不可少的.
AOP答应动态地改变OO的静态模子,没必要改正本来的静态模子也可以加入满意第二需求所需的代码(实际上,乃至连本来的源代码也不需求).更令人称奇的是,后来加入的代码常常可以集合在一个地方,而没必要象纯真利用OO时那样将后来加入的代码分离到整个模子.
2、基本术语
在介绍AOP开辟实例之前,我们先来理解几个尺度的AOP术语,以便更好地掌握相关的概念.
█ Cross-cutting concern
在OO模子中,固然大部份的类只有单一的、特定的功效,但它们普通会与其他类有着共同的第二需求.比方,当线程进入或脱离某个办法时,我们大概既要在数据拜候层的类中记录日记,又要在UI层的类中记录日记.固然每个类的基本功效极然差别,但用来满意第二需求的代码却基本相同.
█ Advice
它是指想要利用到现有模子的附加代码.在本例中,它是指线程进入或退出某个办法时要运行的日记代码.
█ Point-cut
这个术语是指利用程序中的一个履行点,在这个履行点上需求采取前面的cross-cutting concern.在本例中,当线程进入一个办法时呈现一个Point-cut,当线程离创办法时又呈现另一个Point-cut.
█ Aspect
Point-cut和advice结合在一同就叫做aspect.在下面的例子中,我们通过定义一个point-cut并赐与得当的advice加入了一个日记(logging)aspect.
AOP还有别的很多特点和术语,比方引入(Introduction),即把接口/办法/域引入到现有的类——它极大地拓宽了开辟者的想象力.不过本文只介绍一些最基本的持性,熟习这里介绍的概念后,你再深化一步研究AOP的别的特点,看看如安在自己的开辟环境中利用它们.
以上是“Java中实现基于Aspectwerkz的AOP开辟[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |