AOP定义:
Aspect Oriented Programming的缩写,意为:面向切面编程(也叫面向方面),可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态同统一添加功能的一种技术。
AOP优点:
*减少重复代码段的复制
*方便对切入部分统一替换和修改
*松散代码耦合
AOP切入方式:
*前置切入,方法执行前
*后置切入,方法执行后(return后)
*环绕切入,方法拦截,可对方法参数,返回值修改
*抛出异常切入,方法异常时切入
AOP的应用:
*权限管理
*异常处理和日志管理
*事务管理
*缓存管理
.NET中的AOP及实现方式
*Spring.Net(基于动态代理的消息拦截)
*企业库Unity2.0(基于动态代理的消息拦截)
*Emit IL(基于中间语言IL的动态编译)