AOP的一些重要概念
2009-08-06 14:25
295 查看
AOP(Aspect-Oriented Programming)中的概念很多,理解这些概念了,对帮助理解AOP的设计思想很有帮助。
关注点(concern)
一个关注点可以是一个特定的问题、概念、或是应用程序的兴趣区间。譬如安全性、事务管理等是系统中常见的关注点。
横切关注点(crosscutting concern)
如果一个关注点的实现代码散落在很多个类或方法中,我们就称之为“横切关注点”。
方面(aspect)
一个方面是对一个横切关注点的模块化,它将那些原本散落在各处的、用于实现关注点的代码归整到一处。
连接点(join point)
程序执行过程中的一点。例如方法调用(method invocation)、字段访问(field access)、异常抛出(throws)。
切入点(pointcut)
一组连接点的总称,用于指定某个增强应该何时被调用。切入点常用正则表达式或别的通配符语法来描述。
增强(advice)
在特定连接点执行的动作。
增强器(advisor)
是Spring引入的概念,它由两个部分组成:一个增强,以及一个用于说明“在何处进行增强”的切入点。增强器完整地模块化了一个方面。
引介(introduction)
为了一个现有的Java类或接口添加方法或字段。这种技术可以用于实现Java中的多继承,或给现有对象模型附加新的API。
混入继承(mixin inheritance)
一个“混入类”封装了一组功能,这组功能可以被“混入”到现有的类当中,并且无须求助于传统的继承手段。
织入(weaving)
将方面整合到完整的执行流程中。
前增强(before,pre)
在连接点调用之前,首先调用增强。
后增强(after,post)
在连接点调用之后,再调用增强。
环绕增强(around)
这类增强可以完全控制执行流程。除了完成本身的工作外,它还需要负责主动调用连接点,促使真实的操作发生(proceed)。
拦截器(interceptor)
很多AOP框架用它来实现字段和方法的拦截(interception)。随之而来的就是在连接点处挂接一条拦截器链(interceptor chain),链条上的每个拦截器通常会调用下一个拦截器。实际上,拦截是一种AOP实现策略。
AOP代理(AOP proxy)
被增强的对象引用。AOP代理可能是J2SE的动态代理,也可能是借助字节码操作工具生产的。
目标对象(target object)
位于拦截器末端的对象实例。
注:以上摘自《J2EE Development without EJB》中文版。
关注点(concern)
一个关注点可以是一个特定的问题、概念、或是应用程序的兴趣区间。譬如安全性、事务管理等是系统中常见的关注点。
横切关注点(crosscutting concern)
如果一个关注点的实现代码散落在很多个类或方法中,我们就称之为“横切关注点”。
方面(aspect)
一个方面是对一个横切关注点的模块化,它将那些原本散落在各处的、用于实现关注点的代码归整到一处。
连接点(join point)
程序执行过程中的一点。例如方法调用(method invocation)、字段访问(field access)、异常抛出(throws)。
切入点(pointcut)
一组连接点的总称,用于指定某个增强应该何时被调用。切入点常用正则表达式或别的通配符语法来描述。
增强(advice)
在特定连接点执行的动作。
增强器(advisor)
是Spring引入的概念,它由两个部分组成:一个增强,以及一个用于说明“在何处进行增强”的切入点。增强器完整地模块化了一个方面。
引介(introduction)
为了一个现有的Java类或接口添加方法或字段。这种技术可以用于实现Java中的多继承,或给现有对象模型附加新的API。
混入继承(mixin inheritance)
一个“混入类”封装了一组功能,这组功能可以被“混入”到现有的类当中,并且无须求助于传统的继承手段。
织入(weaving)
将方面整合到完整的执行流程中。
前增强(before,pre)
在连接点调用之前,首先调用增强。
后增强(after,post)
在连接点调用之后,再调用增强。
环绕增强(around)
这类增强可以完全控制执行流程。除了完成本身的工作外,它还需要负责主动调用连接点,促使真实的操作发生(proceed)。
拦截器(interceptor)
很多AOP框架用它来实现字段和方法的拦截(interception)。随之而来的就是在连接点处挂接一条拦截器链(interceptor chain),链条上的每个拦截器通常会调用下一个拦截器。实际上,拦截是一种AOP实现策略。
AOP代理(AOP proxy)
被增强的对象引用。AOP代理可能是J2SE的动态代理,也可能是借助字节码操作工具生产的。
目标对象(target object)
位于拦截器末端的对象实例。
注:以上摘自《J2EE Development without EJB》中文版。
相关文章推荐
- 一些重要的AOP概念和术语(摘自Spring开发参考手册)
- 操作系统中的一些重要概念
- 化学计量学中一些重要的概念
- Java中的一些重要概念
- STL学习笔记(四)——温习一下C++的一些重要概念(上)
- 面向对象的设计与实现的一些基础但重要的概念
- win32编程中一些比较重要的概念
- (转载)构架师成长路上的一些基础且重要的概念
- Struts2中一些重要概念的理解
- 正在背诵软件工程里面的一些重要概念,写下来增加理解!!~~
- 用家常话,聊聊一些费解的AOP概念
- IOC和AOP的一些基本概念
- RTOS的一些重要概念以及代码维护中的相应问题举例
- 可计算性与数理逻辑里一些重要的定理概念
- 用家常话,聊聊一些费解的AOP概念
- 关于Extjs一些重要概念的领悟
- Spring Aop中四个重要概念,切点,切面,连接点,通知
- sip协议中的一些重要概念介绍
- 基于WDF的PCI/PCIe接口卡Windows驱动程序(2)-开发者需要了解的WDF中的一些重要的概念