你是说各个advice通过Introduct原来那个抽象的advice来达到继承的效果?
public abstract advice fatherAdvice{
abstract pointcut p1;
}
public advice childAdvice{
private pointcut fatherAdvice.p1;
}
是这个意思吗?
我觉得我理解的不对
怎样才能让advice在不同aop框架如aspectJ,nanning等等中实现重用呢?
谢谢!
> 我设想的理想的pointcut,advice模型是这样的
>
> 各个advice不用继承各个框架的抽象advice类(可以使用自身
> introduction机制来达到继承的目的)
>
> 这样写好的advice可以在各个aop框架中自由移植,不然象现?> 这样,我每换一种框架都得换一套api集合。
>
>
AOP中很强调代理,invoker要调用一个类的方法时,会先经过这个proxy,这个proxy通过intepret 判断invoker调用的是哪个方法,然后在这个方法真正被执行前先做一些事情,比如说产生一个事件,告诉监听器我要做什么了,然后再去执行实例的方法。