AOP
简介
面向切面编程(AOP)是面向对象编程的补充,简单来说就是统一处理某一“切面”的问题的编程思想。
一、基本概念
横切关注点:跨越应用程序多个模块的方法或功能。即是,与我们业务逻辑无关的,但是我们需要关注的部分,就是横切关注点。如日志 , 安全 , 缓存 , 事务等等
切面(ASPECT):横切关注点 被模块化 的特殊对象。即,它是一个类。是通知和切点的结合。通知和切点共同定义了切面的全部内容——是什么,何时,何地完成功能。
通知(Advice):切面必须要完成的工作。即,它是类中的一个方法。通俗一点说就是定义了“什么时候”和“做什么”。
目标(Target):被通知对象。
代理(Proxy):向目标对象应用通知之后创建的对象。
切入点(PointCut):切面通知执行的 “地点”的定义。是定义了在“什么地方”进行切入,哪些连接点会得到通知。显然,切点一定是连接点。
连接点(JointPoint):与切入点匹配的执行点。是程序执行过程中能够应用通知的所有点。
引入(Introduction)允许我们向现有的类中添加新方法或者属性。
织入(Weaving)是把切面应用到目标对象并创建新的代理对象的过程,分为编译期织入、类加载期织入和运行期织入。
二、
评论