在.Net中关于AOP的实现

在.Net平台下采用动态代理技术实现AOP,其原理并不复杂,而.Net Framework也提供了足够的技术来实现它。如果再结合好的设计模式,提供一个基本的AOP框架,将大大地简化开发人员处理“aspect”的工作。当然,本文虽然提供了实现AOP的实例,但其架构的设计还远远不能达到企业级的要求,如在稳定性、可扩展性上还需经过进一步的测试与改善。例如我们可以通过配置文件的形式,来配置方法与方面之间的映射。同时,由于采用了动态代理,在性能上还期待改进。

 

使用动态代理技术实现AOP,对实现AOP的类有一个限制,就是必须派生于ContextBoundObject类,这对于单继承语言来说,确实是一个比较致命的缺陷。所谓“仁者见仁,智者见智”,这就需要根据项目的情况,做出正确的抉择了。

全文链接:《在.Net中关于AOP的实现
源代码链接:AOP.rar

posted @ 2005-09-01 10:45 张逸 阅读(4032) 评论(3) 编辑 收藏

 回复 引用 查看   
#1楼 2005-09-01 11:22 Cavingdeep      
如果使用Castle DynamicProxy的话就不会被限制了:)
 回复 引用 查看   
#2楼 2005-09-01 13:47 idior      
Cavingdeep说的没错 如果使用动态代理用castle的那个倒是不错, aspect#就是用那个做的.
 回复 引用 查看   
#3楼 2007-03-26 13:50 肚子饿了      
很乐意,看到作者的文章,现在还加上了源码。。。兴奋中 :)