我决定从一个方面在方法内部移动一些逻辑
之前
+-------+------+------+
| Month | ID A | ID B |
+-------+------+------+
| Jan | 100 | 10 |
+-------+------+------+
| Feb | 130 | 13 |
+-------+------+------+
| Mar | 90 | 12 |
+-------+------+------+
之后
public A myMethod(arg1, arg2) {
// do something with arg1
// .....
A a = myService.method(....);
if(arg2) {
secondService.method2(a);
}
return a
}
通过这种方式,public void myMethod(arg1, arg2) {
// do something with arg1
// ......
A a = myService.method(....);
return a;
}
public class MyAspect {
@Around
public void doSomethingWithArg2(joinPoint, arg2) {
A a = joinPoint.proceed(joinPoint.getArgs());
if(arg2) {
secondService.method2(a);
}
return a;
}
}
更加整洁,可读性强,并且对myMethod
中发生的事情一无所知。
一切正常,唯一的问题是MyAspect
中的arg2
尚未使用。
我该如何解决?
在这种情况下,什么是更好的解决方案?
也许这里不建议使用方面?