AOP是面向切面编程。全称:`AspectOrientedProgramming`
AOP,全称为面向切面编程(Aspect-Oriented Programming),是一种在程序运行期间动态插入特定代码的方法。这种编程方式允许将额外的功能(如日志记录)与核心业务逻辑分开,提升代码的可维护性和可读性。
以下是一个简单的计算器接口,包含基本的数学运算方法:
public interface Calculate {
int add(int num1, int num2);
int mul(int num1, int num2);
int div(int num1, int num2);
int sub(int num1, int num2);
}
接下来是实现该接口的 Calculator
类,其中每个方法都会在执行前打印日志:
public class Calculator implements Calculate {
public int add(int num1, int num2) {
System.out.println("日记:【add】方法调用前。参数1是:" + num1 + ",参数2是:" + num2);
return num1 + num2;
}
public int mul(int num1, int num2) {
System.out.println("日记:【mul】方法调用前。参数1是:" + num1 + ",参数2是:" + num2);
return num1 * num2;
}
public int div(int num1, int num2) {
System.out.println("日记:【div】方法调用前。参数1是:" + num1 + ",参数2是:" + num2);
return num1 / num2;
}
public int sub(int num1, int num2) {
System.out.println("日记:【sub】方法调用前。参数1是:" + num1 + ",参数2是:" + num2);
return num1 - num2;
}
}
接下来是用于测试的代码:
public class CalculatorTest {
public static void main(String[] args) {
Calculate calculate = new Calculator();
int result = calculate.add(1212, 1212);
System.out.println("相加的结果:" + result);
result = calculate.mul(1212, 1212);
System.out.println("相乘的结果:" + result);
}
}
在上述实现中,日志记录代码被直接嵌入到业务方法中,这导致业务逻辑与日志记录耦合在一起。若将来需要修改日志记录的实现,则必须在每个方法中手动更改,这会增加维护的复杂性。因此,这是一种不太理想的做法。
通过AOP,我们可以将日志记录逻辑与业务代码分离,使得代码更加清晰易维护。
本站主要用于日常笔记的记录和生活日志。本站不保证所有内容信息可靠!(大多数文章属于搬运!)如有版权问题,请联系我立即删除:“abcdsjx@126.com”。
QQ: 1164453243
邮箱: abcdsjx@126.com