.net 平台下的 AOP . 有两种方法实现,
1)基于动态代理。
框架有:castle(DynamicProxy) 和 unit (TransparentProxy , VirtualMethodProxy)
原理是通过拦截方法的调用(重载虚方法),将业务逻辑织入到方法中。
缺点是待拦截的方法必须是虚方法。
2)IL Weaving (IL交织?)
Cecil.Mono
交织前:
交织后
-- 待续
.net 平台下的 AOP . 有两种方法实现,
1)基于动态代理。
框架有:castle(DynamicProxy) 和 unit (TransparentProxy , VirtualMethodProxy)
原理是通过拦截方法的调用(重载虚方法),将业务逻辑织入到方法中。
缺点是待拦截的方法必须是虚方法。
2)IL Weaving (IL交织?)
Cecil.Mono
交织前:
交织后
-- 待续