使用PIAB(Policy Injection Application Block)实现AOP
<div id="cnblogs_post_body">AOP及PIAB简介AOP(Aspect Oriented Programming),中文称为面向方面编程。AOP是OOP的延续,其意义在于将日志、监控、异常等逻辑与主要的业务逻辑分离开,达到解耦的目的。日志、监控、异常等称为方面(切面),实现AOP后这些逻辑可以独立的变化而不会影响到主要的业务逻辑。
常见的方面主要有:
Authentication 权限
Caching 缓存
Context passing 内容传递
Error handling 错误处理
Lazy loading 延时加载
Debugging 调试
logging, tracing, profiling and monitoring 记录跟踪 优化 校准
Performance optimization 性能优化
Persistence 持久化
Resource pooling 资源池
Synchronization 同步
Transactions 事务
.net中AOP的实现方法大体分为预编译方式和运行期动态代理方式两种,本文所使用的PIAB使用的是运行期动态代理方式。PIAB是微软企业库(http://entlib.codeplex.com/)的一个模块(企业库从3.0版本开始支持此模块,目前版本为5.0)。
使用PIAB
首先从PIAB的配置了解一下,使用PIAB的几个主要元素。下图是用企业库配置工具打开的一段示例配置。
http://images.cnblogs.com/cnblogs_com/zdy_bit/201208/201208221118039043.png
图中中间部分表示一条AOP的策略;左侧部分是这条策略的匹配规则,既为符合匹配规则的方法应用这一条AOP策略;右侧部分配置的是方面逻辑的处理程序,这些处理程序包括了实际的方面逻辑代码。
页:
[1]