某品牌休闲零食网站建设规划书,学网站开发需要会什么,安徽兴罗建设集团网站,博客网站wordpressSpring中的AOP 文章目录Spring中的AOPAOP概述相关术语总结作用AOP概述
AOP(Aspect Programming) 是一种设计思想#xff0c;是面向切面编程思想
跟OOP(面向对象编程)有什么关系呢#xff1f;
AOP面向切面编程然后是OOP#xff08;面向对象编程#xff09;的补充和完善。…Spring中的AOP 文章目录Spring中的AOPAOP概述相关术语总结作用AOP概述
AOP(Aspect Programming) 是一种设计思想是面向切面编程思想
跟OOP(面向对象编程)有什么关系呢
AOP面向切面编程然后是OOP面向对象编程的补充和完善。
OOP是纵向继承机制
AOP是横向抽取机制
可以把分核心业务代码抽取出来
为什么叫切面编程呢
那是我们把一些非核心业务代码抽取出来之后我们要把它交个一个切面类来进行管理不是把它抽取出来的我们还有把它套到我们当前真正实现功能的位置。
AOP是干嘛的
抽我们要把非核心代码封装到当前的切面类进行管理
套把我们当前抽取出来的代码套用到我们当前抽取出来的位置
我们就可以达到一个不修改源代码情况下给程序动态统一添加额外的功能
相关术语
①横切关注点
从每个方法中抽取出来同一类非核心业务在同一个项目中我们可以使用多个横切关注点对相关对方法进行多个不同的方面增强就是从核心代码中抽取出来的非核心业务代码
②通知
我们要把横切关注点收集到一个类中或者说我们把横切关注点封装到一个类中这个类就叫切面而这个切面里面所封装的每一个横切关注点他都是一个通知你的非核心业务代码它在我们的目标对象中叫横切关注点你把它抽出来之后放在一个切面类来进行封装那我的横切关注点在切面中他就表示为一个通知方法
横切关注点横切关注点是对于我们的目标对象的非核心业务代码来说的
通知通知是针对于我要把横切关注点封装在我们的切面中而在这个切面中每一个横切关注点他都表示为一个通知方法
切面封装横切关注点的类叫切面也可以说封装通知方法的类叫切面
目标对象指的是当前的目标对象我们需要进行功能增强的对象也就是我们要抽取非核心代码的对象
代理就是为当前目标对象所创建出来的代理对象(在AOP中代理对象不需要我们自己创建以为它封装的就是代理模式)
连接点就是抽取横切关注点的位置就是说你的横切关注点在哪抽出来的
切入点定位连接点的方式连接点是一个纯概念的问题把非核心代码抽出来我还得把它套到当前抽取出来的为位置连接点我们就可以通过切入点定位我们的连接点
总结
目标类肯定是有的代理类它要做的事情从目标对象中把非核心业务代码也就是横切关注点抽取出来放在一个类中这个叫切面。每一个横切关注点都是一个方法这个方法叫通知。我们要在不改变源代码的基础上来做功能增强我们不光要抽取出来还得套到目标对象上所以我们在哪抽的就要套在哪里这个位置叫连接点。连接点只是一个概念通过切入点定位连接点。
作用 简化代码把方法中固定位置的重复代码抽取出来让被抽取的方法更专注于自己的核心功能 代码增强在不改变源代码的基础上然后进行把这个切面套到我们的目标对象的方法的执行过程中