AOP 概念

时间:2023-02-19 10:58:23


连接点(jointpoint):一个连接点是一个程序执行过程的特定点。
典型的连接点包括对一个方法的调用、方法执行的过程本身、类的初始化、对象的实例化等。
连接点是AOP的核心概念之一,它用来定义在程序的什么地方能通过AOP加入额外的逻辑。

通知(advice):在某一特定的连接点处运行的代码称为“通知”。
通知有很多种,比如在连接点之前执行的前置通知(before advice) 和在连接点之后执行的后置通知(after advice)

切入点(pointcut):切入点是用来定义某一个通知该何时执行的一组连接点。通过创建切入点,我们可以精确的控制程序中什么组件接到什么通知。之前我们提到过, 一个典型的连接点是方法的调用,而一个典型的切入点就是对某一个类的所有方法调用的集合。通常我们会通过组件复杂的切入点来控制通知什么时候被执行。

方面(aspect):通知和切入点的组合叫方面。这个组合定义了一段程序中应该包括的逻辑以及何时应该执行该逻辑。

织入(weaving):织入是将方面真正加入程序代码的过程。对于编译时AOP而言,织入自然是在编译时完成的,它通常是作为编译过程中的一个额外步骤,类似的,对于运行时AOP方案,织入过程是在程序运行时动态执行的。

目标(target):如果一个对象的执行过程受到某个AOP操作的修改,那么它就叫做一个目标对象。目标对象通常也称为被通知对象。

引入(introduction):