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

本文介绍了AOP(面向切面编程)的基本概念,包括AOP的关注点、核心思想以及与OOP的区别。AOP强调共性功能的抽取,提高代码复用性。连接点、切入点、通知、切面、目标对象和AOP代理是AOP中的关键概念,织入是将通知功能加入原始字节码的过程。AOP的工作流程包括在运行时通过代理机制将通用功能与目标方法融合,完成业务逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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代理),将原始方法(切入点)与通知进行融合,形成完整的业务逻辑并进行运行,此过程称为织入。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值