12 2011 档案
摘要: 最近做项目,需要把DataTable中的数据强类型化.于是试用了下比较常用的AutoMapper,通过看代码中附带的Demo与网上的教程,也算能够勉强使用了,现将学习笔记记录如下:namespaceConsoleApplication1{classProgram{staticvoidMain(string[]args){//1.普通转换Namename1=newName(){FirstName="L",LastName="jz"};Mapper.CreateMap<Name,NameDto>().BeforeMap((name,nameDto阅读全文
摘要: 最近一段时间由于工作需要,仔细研读了微软企业库的部分源码,不由得佩服这些大洋彼岸的同行们.先不谈代码的架构怎么样,起码在代码注释这一块,那叫一个专业啊.一个200行的源文件150行注释50行代码是常有的事.注释量不仅多,质量也高.我的很多困惑都是通过阅读代码注释得以解答的. 这年头,代码注释的方式基本都是采用以///开头的xml注释方式了.在visual studio里,连续输入三个///,编辑器会自动补全剩下的部分.默认使用的是summary标签.如果是方法则可能还会有param与returns标签.这也是我们最常用到的三个标签.难道xml注释方式只有这三种标签吗?显然不是.当你再输入...阅读全文
摘要: 事情的初衷很简单,就是想不用xml配置来使用其缓存组件,试了很多遍都无法成功.不得已安装了其源码大略分析一遍,才总算成功.后来又一想,既然分析就分析的彻底一点吧,顺便看看国外的高手们是怎么架构组件,书写代码的,于是就有了这篇文章.企业库为5.0版本. 首先是类关系图: 缓存组件的整体结构为CacheManager -> Cache -> CacheItem,其中CacheItem为缓存项,其有Key有Value,还有本缓存项的过期策略及删除时的回调函数.Cache为缓存,除管理CacheItem外,还负责管理缓存性能计算器及缓存持久化.CacheManager为Cache类的包装类阅读全文
摘要: 本来是没有打算写这篇分析的,但是在我分析缓存组件的时候,发现企业库的所有组件都是通过一种方式创建出来的,这就让我产生了好奇,于是决定去看看他到底是如何通过配置文件将正确的对象创建出来. 这里有四个重要的接口,一句话概括,就是配置器(IContainerConfigurator)以特定的解析方式(ITypeRegistrationsProvider)将源(IConfigurationSource)里的信息解析出来,最终发布为服务定位器(IServiceLocator). 一.服务定位器 可以从图上看到,其实所谓的企业库服务定位器,其实就是对依赖注入框架Unity的一个封装,通过GetI...阅读全文
摘要: 为了增加自己的阅读量,今天花了600大洋在淘宝上买了个电纸书:Kindle 4,只是这个东东是M国的东东,在国内出版制度没有得到根本改革之前,书本资源也只能依赖伟大的谷歌了。在网上狂找一通,也算找到了一些有意义的资源点,现记录如下: 免费地址: (推荐)子乌书简:http://book.zi5.me/ (推荐)亿年书海:http://www.inien.com/w/#/Index (推荐)苦瓜书盘:http://kgbook.com/ 书仓:http://www.shucang.com/web/ 七彩英语:http://www.qcenglish.com/积分地址 (推荐)E读吧:http..阅读全文

