Castle学习系列(十二)---Windsor和DynamicProxy实现AOP
来源:互联网 发布:windows 自带工具 u盘 编辑:程序博客网 时间:2024/05/16 19:42
AOP就是可以在一个已有的类方法中动态地嵌入代码,可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能。前提必须是被切入的类是通过IOC容器来控制的。
Castle通过DynamicProxy来实现动态代理每一个切面方法均需要实现接口IInterceptor。
下面通过代码的方式来学习下AOP,新建一个切入类
<span style="font-size:14px;">public class LoggingInterceptor : IInterceptor { public void Intercept(IInvocation invocation) { Console.WriteLine("方法前调用"); try { invocation.Proceed(); } catch (Exception) { Console.WriteLine("方法出错调用"); throw; } finally { Console.WriteLine("方法最后调用"); } } }</span>即在原来的方法中加入TryCatch块,并记录日志。客户端调用的时候只需要在类上加标签:
<span style="font-size:14px;">[Interceptor(typeof(LoggingInterceptor))] public class WenZhouCharge:ICharge { }</span>前提是WenXhouCharge这个类是受Windsor IOC容器控制的。
这样在WenXhouCharge每个方法外面均会套上TryCatch并记录日志。
0 0
- Castle学习系列(十二)---Windsor和DynamicProxy实现AOP
- 循序渐进学习Castle.DynamicProxy AOP
- AOP:PostSharp和Castle DynamicProxy
- Castle学习系列(十一)---Windsor性能检测
- 框架学习与探究之AOP--Castle DynamicProxy
- Castle学习系列(九)---Windsor框架快速入门
- Castle学习系列(十)---Windsor框架类注册
- .NET 通过 Autofac 和 DynamicProxy 实现AOP
- [AOP系列]Autofac+Castle实现AOP事务
- Castle Windsor
- Castle.DynamicProxy实现WCF接口服务端模拟
- Castle 系列: Castle DynamicProxy动态生成透明代理类型
- Castle 系列:Castle DynamicProxy动态生成透明代理类型详解
- Castle学习笔记之Windsor(一)
- Castle学习笔记之Windsor(二)
- Castle学习笔记之Windsor(一)
- Castle学习笔记之Windsor(二)
- Castle.DynamicProxy的二次开发
- ACM-BestCoder Round #31
- SQL 统计分组 Group By和Compute By的整理
- Pretty Poem(substr)
- Linux下Java路径问题/Javac java -cp
- Android项目中引用外部项目library失败的原因
- Castle学习系列(十二)---Windsor和DynamicProxy实现AOP
- 快速排序的随机化算法
- 15,3Sum
- Android案例之新闻客户端服务器实现,完全属于自己的新闻展示平台
- 感想
- OC中面向对象语法类与对象
- ddpush 学习之路 2 DateTimeUtil.java
- MySQL服务器连接过程分析
- 同步与异步