编程AOP入门概念

一、 业务逻辑重复功能提取,使模块内部解耦。
现实逻辑 : 我每天吃饭前需要拿一双筷子或者勺子

重复功能 拿勺筷子或者勺子
业务逻辑 吃饭

正常思路编写

1.午餐 -> 筷子、勺子,吃饭

2.晚餐 -> 筷子、勺子、吃饭

3.早餐 -> 筷子、勺子、吃饭

AOP

将与固定操作(筷子、勺子)抽取,与业务逻辑吃饭进行分离。

当检测到当前行为是吃饭,我们就去拿筷子或者勺子

在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。 —— 百度百科

AOP中的几个重点
想要实现在某一行为前/后,产生指定行为,我们需要明确两个目标

  1. “某一行为” 具体是什么 —— 也就是切入点
  2. “指定行为” 具体是什么 —— 通知
  3. “由 切入点、通知 共同构成的类 —— 切面对象”
  4. 如果我希望根据午餐的不同种类决定我具体是拿筷子,还是勺子呢 ?

    我们需要让通知(切入点前后的指定行为) 和 切入点 建立联系,让通知获取到切入点的具体属性(也就是方法的参数)

    例如我的吃饭方通过g法传递进来的参数为粥,那我就去拿勺子

  5. 让通知和切入点建立联系的对象叫做连接点(joinpoint)通过该对象可以获取到连接点的具体方法名称,参数等信息

实际应用

Aop通常应用在日志输出,权限校验等业务场景

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值