面试:什么是AOP?AOP中最重要的概念是什么?

53 篇文章 1 订阅

AOP(Aspect Oriented Programming),也称为面向切面编程,是OOP的一种延续,目的就是将与主业务无关的事情放到代码外去做,尽可能减少代码臃肿,并减少代码的重复部分。OOP通过继承大幅度的减少了类中重复的代码,AOP通过切面减少了方法外或方法中的横切逻辑代码

AOP最常用的地点就是日志,假设有一个加工流水线,分别是负责洗菜的A,负责做菜的B和负责上菜的C,通常用户点一份菜需要三分钟,但偶尔会出现三小时都没法上菜的情况,这就需要负责人去研究是那个环节出现了问题,比如让每个人把工作开始和结束的时间记下来,最后交给负责人去研究到底是谁出问题了,但这样最大的问题是需要每个人都参与到日志的记录中,一个人做的越多,出错的几率就越大,所以就可以雇一个专门记日志的日志专员,每天跟在员工后面,进行记录,这就是AOP。

AOP主要解决了再不改变原有代码的前提下,减少了代码耦合,避免横切逻辑代码发送重复

AOP中最重要的概念有五个,分别是:通知(执行时机和执行内容),连接点(执行过程中可插入切面的点),切入点(在何处插入),切面(通知 + 切点)织入

通知:何时做什么,(何时何事)

连接点:可以在执行过程中插入的点

切入点:在何处插入(何地)

切面:通知和切点的合集就是切面(在何时何地完成何事)

引入:可以向指定类添加方法或属性

织入:将切面织入到目标对象并创建代理对象的过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值