摘要:
大家对这段代码肯定很熟悉吧:public List SearchUsers(string userName) { string cacheKey=string.Format("SearchUsers_{0}", userName); List users = cache.Find(cacheKey) as List; if (users == null) { users = repository.GetUsersByUserName(userName); ... 阅读全文
摘要:
放心,这次不是说设计模式中的代理模式,说的是C#的RealProxy的用法,主要用于:通过给class贴标签,让class做更多的工作,比如判断是否存在缓存,有则直接返回缓存object,没有则保存为缓存,等待下次请求是可以更快的获取数据(当然这只是其中一种常用用途,MVC的Action就是采用这种方式)下面是序列图:.Net Object Generation interceptor属于.NET自身行为,不需要额外写代码。Code Consumer指想调用RealObject来进行调用的对象,比如控制台程序,或者WEB程序。ProxyAttribute里定义了具体代理类是哪个,这个代理类是自 阅读全文