因为接口已经是写好的,用观察模式好像有点把接口给污染耦合了,有人给个招不。
另外有一问题:用aop拦截器出现这个问题
接口文件中有两个方法 A(); B();
如果在return之前拦截B(),能够成功,但如果是在A()的实现类中调用B(),则拦截不到了,就是不能在嵌套拦截。
A(){
B(); //这样调用拦截不到B();
}
有没有人想个办法,我想知道B()是否调用了,因为我要做个一旦被调用了就去执行某个操作。
如何知道接口是否调用了
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
s929498110 2011-07-31 23:47关注那个B方法调用了、
但是你只能拦截[u]代理类的A方法[/u]和[u]代理类的B方法[/u]你说的是你拦截了[u]代理类的A方法[/u],[b]然后[u]代理类的A方法[/u]调用[u]原始类的A方法[/u],接下来[u]原始类的A方法[/u]再调用[u]原始类的B方法[/u] [/b],
后面说起来比较饶舌,黑体字它们是作为一个整体操作在代理类的A方法中存在的。
代理原理就是这样的,至于如何让拦截器知道原始类的B方法被调用,自己想想办法吧。实在不行你继续追问,
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报