摘要:
动态织入的AOP实现,有两种方法:第一类,借助于Remoting命名空间下的几个类,通过获取当前上下文及反射的机制来实现,这需要被AOP的类需要继承自arshalByRefObject或者ContextBoundObject;第二类,原理是基于动态代理的思想,即在运行时动态构造一个原有类的子类,这样就可以在子类的重载方法中插入额外代码。这两类方法,都有显著的不足,前者直接要求我们继承固定类,后者呢,除非父类方法被定义为virtual,或者方法定义于某个接口,否则就不能被重载,这就是得“拦截”并不是可以对任意的方法进行的。动态织入局限于CLR的限制,不能实现对任何方法进行AOP,如果要突破这个限 阅读全文
posted @ 2012-01-10 15:48
陆敏技
阅读(5288)
评论(4)
推荐(0)

浙公网安备 33010602011771号