aop 的几个问题
AOP 几个 问题
2023-09-11 14:18:43 时间
![](https://img2022.cnblogs.com/blog/192223/202205/192223-20220529233906566-1811714877.png)
Wikipedia 里对 AOP 是这么介绍的:
An aspect can alter the behavior of the base code by applying advice (additional behavior) at various join points (points in a program) specified in a quantification or query called a pointcut (that detects whether a given join point matches).
AOP技术将软件系统划分成了核心关注点和横切关注点两部分,业务的核心功能则为核心关注点,与业务无关或者关系不大的则为横切关注点。
横切关注点总是作用于核心关注点周围,且对应的业务含义类似,系统开发中常见的如:权限认证、事务管理、日志记录(如所有请求接口的入参都需要记录到日志中)等都属于横切关注点。
AOP技术的出现,将系统的核心关注点和横切关注点分离,避免了非核心业务耦合在核心业务中,降低了模块间的耦合度,提高了系统的可读性、可操作性和可维护性。
面向切面编程(AOP)实现的效果就是在不修改源代码的情况下,给系统中的某些组件添加某些与核心业务无关的通用逻辑,
面向织入规则编程:
目标
关注点分离:实现什么横向功能
抽象与可变性
实现:
1、修改哪里(规则),
2、怎么(何时)修改:规则扫描与织入时机
3、修改成啥样
AOP 机制(引擎)定义了一套规则和框架,输入修改目标和规则,引擎自动完成目标代码修改。
相关文章
- 自己实现简单的AOP(一)简介
- Javascript aop(面向切面编程)之around(环绕)
- Java动态代理(Spring Aop原理)
- Java AOP - Aspectj
- Alter dataSource in Spring By AOP And Annotation
- Spring AOP编程-传统基于aspectJ切点AOP开发
- Spring AOP编程-传统aop开发总结
- Dora.Interception, 为.NET Core度身打造的AOP框架[4]:演示几个典型应用
- Dora.Interception, 为.NET Core度身打造的AOP框架[3]:Interceptor的注册
- Spring读源码系列之AOP--01---aop基本概念扫盲---上
- 面向切片编程(AOP)应用的一些实际例子
- Spring boot中使用aop详解
- [spring学习]11、AOP使用,注解&xml配置