我也同意“ajoo”的看法“AOP当作一种和OO完全不同的崭新思想方法,而不是一类pattern呢?”好像象观察者模式差不多,我觉得都属于面向接口编程的范畴,只不过这个接口用来描述横切面而已

noxel:可不可以详细说明一下? 你是说各个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的理解,不知道对不对? AOP中很强调代理,invoker要调用一个类的方法时,会先经过这个proxy,这个proxy通过intepret 判断invoker调用的是哪个方法,然后在这个方法真正被执行前先做一些事情,比如说产生一个事件,告诉监听器我要做什么了,然后再去执行实例的方法。