AOP
AOP的全程是Aspect-Oriented Programming,即面向切面编程(也成面向方向编程),它是面向对象编程(OOP)的一种补充。
AOP的专业术语:
● Aspect(切面):在实际应用中,切面通常是指封装的用于横向插入系统功能(如事务、日志等)的类
● Joinpoint(连接点):在程序执行过程之中的某个阶段点,它实际上是对象的一个操作,例如方法的调用或异常的抛出。
● Pointcut(切入点):是指切面与程序流程的交叉点,即那些需要处理的连接点。通常在程序中,切入点指的是类或者方法名,如某个通知要应用到所有以add开头的方法中,那么所有满足这一规则的方法都是切入点。
● Advice(通知/增强处理):AOP框架在特定的切入点执行的增强处理,即在定义好的切入点处所要执行的程序代码。可以将其理解为切面类中的方法,它是切面的具体实现。
● Target Object(目标对象):是指所有被通知的对象,也称为被增强对象。如果AOP框架采用的是动态的AOP实现,那么该对象就是一个被代理的对象。
● Proxy(代理):将通知应用到目标对象之后,被动态创建的对象。
● Weaving(织入):将切面代码插入到目标对象上,从而生成代理对象的过程。