不能不知道的AOP概念

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

Concern:一个特定的问题,关注点。这并不是AOP中才有的概念,OO中也有concern,只不过是采用OO的方法来实现。

Crosscutting concern:其实现切过了多个类的concern,比如安全检查,事务处理等。

Aspect:模块化的crosscutting concern。也就是将安全检查之类的在许多类中都要用到的通用功能,用统一的模块化的代码加以提取实现。这就是所谓的方面。这其实也可以使用面向对象的方式来实现,只不过在AOP中不需要在用到这些功能的地方进行显示调用。对于业务程序员,方面模块是透明的。

Join point:程序执行过程中的连接点,切换点。AOP就是在这些点中打入锲子,将aspect(方面)切入到连接点中,包括三种:

l 方法调用点

l field访问点

l 异常抛出点

Advice:也就是aspect的具体实现,在join point中插入的东西,在程序执行到join point的时候,会执行advice。很多AOP框架中使用interceptor(解释器)来实现。三种类型:

l Before(pre):在join point之前调用

l After(post):在join point 之后调用

l Around:advice控制对join point的调用

Pointcut:一组join point。

Introduction:给类或者接口增加方法或成员

Mixed inheritance:使用introduction方式来实现类似于多重继承的功能

Weaving:将方面织入到程序执行流程中。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航