zl程序教程

您现在的位置是:首页 >  后端

当前栏目

aop 的几个问题

AOP 几个 问题
2023-09-11 14:18:43 时间

 

 

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 机制(引擎)定义了一套规则和框架,输入修改目标和规则,引擎自动完成目标代码修改。