摘要:最近翻手头的dll文件时无意中发现了一个Interception实现,这个框架比起目前流行的AOP框架显的比较简漏,但却很好的体现出了.net下AOP是怎么实现的,于是就整理出来。在.Net Unity2.0中的Interception,按三种方式实现:1.TransparentProxy/RealProxy Interceptor 即Remoting代理机制。2.Interface Interceptor 即动态代码 (Emit编程)实现3.Virtual Method Interceptor 也是动态代码实现,Emit编程基本类似于IL编程了。需要注意的是使用VirtuatMethodIn
阅读全文
摘要:public void AddPublisher(object publisher, string eventName) { publishers.Add(publisher); EventInfo targetEvent = publisher.GetType().GetEvent(eventName); GuardEventExists(eventName, publisher, targetEvent); MethodInfo addEventMethod = targetEvent.GetAddMethod(); GuardAddMethodExists(targetEvent);/.
阅读全文
摘要:Asp.net2.0提供程序模型Asp.net2.0的提供程序模型是策略模式的应用实现, 为此.net2.0中内提供了一些用来帮助实现提供程序模型的类,这些类主要有ProviderBase,ProviderCollection,ProvidersHelper,ProviderSettingsCollection等。ProviderBase:所有提供程序的基类,这个类型在providerCollection,ProvidersHelper中被依赖,如果你想使用.net中的提供程序模型来实现策略模式那么就需要继承之,否则你就没法使用ProvidersHelper这些类了.ProvidersHelp
阅读全文