AOP简介和基本概念【理解】【重点】

来源:互联网 发布:网络词 抓马什么梗 编辑:程序博客网 时间:2024/05/17 21:45

AOP简介【理解】【重点】

1.AOP(Aspect Oriented Programing)面向切面/方面编程

2.AOP隶属软件工程的范畴,指导开发人员如何制作开发软件,进行结构设计

3.AOP联盟:掌握着AOP的发展方向

4.AOP开发只关注共性功能

5.主思想:在不惊动原始设计的基础之上,为原始设计追加功能

*插拔式组件体系结构

*OOP与AOP区别

OOP开发,关注的是层与层之间的关系,及其每层中各个实现类如何制作

AOP开发,关注的是共性功能,无论该共性功能是否服务于同一层面的类

将共性功能抽取出来,制作成独立的模块,在程序运行时,动态的为其追加该功能

6.AOP核心思想

AOP关注的是程序中的共性功能,开发时,将共性功能抽取出来制作成独立的功能模块,此时原始功能中将不具有这些被抽取出的共性功能代码。在当时具有被抽取的共性功能的模块运行时候,将共性功能,模块进行运行,即可完成原始的功能。

优点:加强代码的复用性,同时程序开发时可以只考虑个性化的功能,不需要考虑共性功能


AOP基本概念【理解】【重点】

 连接点(Joinpoint):类中的任意方法的运行时表示,可以简单理解为类中的方法

 切入点(Pointcut) :具有共性功能的方法的运行时表示,可以简单理解为具有共性功能的方法

注意:切入点对应的是被挖去了共性功能后的方法执行时匹配断言(格式)

 通知(Advice) :共性功能模块化,可以简单理解为将共性功能抽取出来制作成独立的方法

 切面(Aspect) :切入点与通知的对应关系,可以简单理解为被抽取的共性功能与共性功能被抽取位置对

应的方法之间的关系

 目标对象(Target Object) :包含切入点的运行时对象,开发阶段制作的是目标对象对应的类  AOP代理(AOP Proxy) :使用AOP的代理机制创建目标对象运行时代理对象,完成原始的功能

注意:原始目标对象已经被挖去了共性功能,此时使用目标对象执行任务无法完成原始任务,使用AOP代理机制,创建一个代理对象来完成原始目标对象的功能

 织入(Weaving) :是一个将通知功能加入原始字节码的动态过程,共有三种方式,Spring使用的是运行

时织入机制

 【了解】引入(Introduction) :一种特殊的机制,可以为一个类的字节码动态的加入变量或方法 AOP工作流程:

开发时,制作功能类(目标对象类),将其中方法的通用功能(通知)抽取出来,制作成独立的类(通知类),原始目标对象中的方法(切入点)不再书写通用功能。通用功能被抽取后,原始目标对象无法完成完整的业务逻辑,需要在运行时将通知加入到对应的位置执行。为了完成此操作,必须将切入点与通知进行一对一的对应关系设定(切面)。

AOP运行流程:

运行时,Spring监控切面中所配置切入点对应方法的执行,发现执行了匹配的方法,使用AOP代理机制,创建代理对象(AOP代理),将原始方法(切入点)与通知进行融合,形成完整的业务逻辑并进行运行,此过程称为织入。

0 0
原创粉丝点击