发布时间:2023-09-24 19:00
面向切面编程,指扩展功能不修改源代码,将功能代码从业务逻辑代码中分离出来。
主要功能:日志记录,性能统计,安全控制,事务处理,异常处理等。
主要意图:将日志记录,性能统计,安全控制,事务处理,异常处理等代码从业务逻辑代码中划分出来,通过对这些行为的分离,我们希望可以将它们独立到非指导业务逻辑的方法中,进而改变这些行为的时候不影响业务逻辑代码。
AOP特点:采用横向抽取机制,取代了传统纵向继承体系重复性代码。
aop全称Aspect Oriented Programming,面向切面,AOP主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。其与设计模式完成的任务差不多,是提供另一种角度来思考程序的结构,来弥补面向对象编程的不足。
通俗点讲就是提供一个为一个业务实现提供切面注入的机制,通过这种方式,在业务运行中将定义好的切面通过切入点绑定到业务中,以实现将一些特殊的逻辑绑定到此业务中。
比如,若是需要一个记录日志的功能,首先想到的是在方法中通过log4j或其他框架来进行记录日志,但写下来发现一个问题,在整个业务中其实核心的业务代码并没有多少,都是一些记录日志或其他辅助性的一些代码。而且很多业务有需要相同的功能,比如都需要记录日志,这时候又需要将这些记录日志的功能复制一遍,即使是封装成框架,也是需要调用之类的。在此处使用复杂的设计模式又得不偿失。所以就需要面向切面出场了。
先介绍一些aop的名词,其实这些名词对使用aop没什么影响,但为了更好的理解最好知道一些
详解利用Pandas求解两个DataFrame的差集,交集,并集
harbor报错:Error response from daemon
stm32单片机+amg8833+红外热成像/单片机红外测温成像/stm32 amg8833红外热成像
随机波动率SV模型原理和Python对标普SP500股票指数时间序列波动性预测
Hive/MaxCompute SQL性能优化(一):什么是数据倾斜
Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)[原创]
因果推断综述-A Survey on Causal Inference
仿京东平台框架开发开放平台(包含需求,服务端代码,SDK代码)