自己接触NHibernate,Spring.Net,Moq这些框架有一段时间了,觉得很多很Cool的功能在这些框架中的实现都建立在动态代理这个技术之上,特来跟大家分享一下,希望大家一起讨论,一起进步,我的计划是这个系列将会有四篇文章:
1..Net动态代理Castle系列(一)---初步认识
2..Net动态代理Castle系列(二)---ORM中延迟加载及实现
3..Net动态代理Castle系列(三)---在Mock框架中的运用及实现
4..Net动态代理Castle系列 (四)---在AOP中的运用及实现
今天先开始对动态代理有个初步的认识,并通过实例来让大家能认识到Castle,并能使用Castle.
什么是动态代理?想很好的了解动态代理,就需先来了解代理的概念,代理(Proxy)这个概念在现实生活中无处不在,比如房屋中介,它就是一个代理对象,能代理行驶房东(可以理解为Target)的权力,除此之外中介可以对房东的权力添加一些附加值,拦截房东的一些行为,如收取中介费。
在设计模式中,有一种模式叫做代理模式,在GOF中这样写道:
为其他对象提供一种代理以控制对这个对象的访问。
接下来,为了方便大家了解,我还是以代码的形式来描述下中介与房东之间的故事。查看全文
分类: Castle