随笔分类 -  OO Mapper

摘要:一说到反射,很多人都想到了性能,更有甚者直接说“慎用反射,遗患无穷”,“用反射,感觉怎么像是退步啊~”,看到这种言论,直接把反射妖魔化了,如果这种言论长此以往,势必会对很多对反射初学者造成负面影响。反射是一把双刃剑,看你怎样使用了,下面我就用代码说话。class TestEntity { } 1. 手工创建TestEntity [TestInfo(Category = "Class.Constructor", Name = "Direct")] class DirectInvokeMode:IRunable { public void Run() { n 阅读全文
posted @ 2011-04-18 16:37 风云 阅读(4216) 评论(24) 推荐(7) 编辑
摘要:在大比拼之前先讲一个小插曲,我这个人以前比较低调,做了很多好东西仅仅在公司内的朋友圈项目圈内分享,很少在博客园内进行分享,后来在dudu 老大的文章博客园现代化建设——AutoMapper有感便推荐一下OOMapper 组件,于是乎接连写了几篇入门性的介绍使用文章:开发人员必备工具:OOMapperOO Mapper 实践(上篇)OO Mapper 实践(下篇) 在园友Repository兄的NLiteMapper与EmitMapper性能简单比较中了解到NLiteMapper与EmitMapper的性能巨大差距,于是乎进行了两天的性能优化,同时总结了优化过程:一次性能优化最佳实践。在这里非. 阅读全文
posted @ 2011-04-13 12:49 风云 阅读(12735) 评论(46) 推荐(23) 编辑
摘要:上周五下班前,在Repository兄测试NLiteMapper和EmitMapper的文章中,发现了令我跌破眼镜的性能悬殊对比12283ms : 7ms。真不可思议,与是便把EmitMapper的源代码和OOMapper 的源代码一起下载下来,以Release模式的方式做一个公平对比。测试代码仍然沿用Repository兄的,代码如下:public class SimpleClassFrom { public long ID { get; set; } public string Name { get; set; } public int Age { get; set; } public . 阅读全文
posted @ 2011-04-11 11:28 风云 阅读(4047) 评论(17) 推荐(3) 编辑
摘要:上篇介绍了OO Mapper 最核心的映射,简单类型映射,这篇将介绍的复合类型的映射。 1. Dictionary - > Dictionary 字典类型分为:IDictionary,IDictioanry<TKey,TValue> public class SourceValue { public int Value { get; set; } } public class DestValue { public int Value { get; set; } } [Test] public void Example() { var sourceDict = new Dict 阅读全文
posted @ 2011-04-08 15:53 风云 阅读(3230) 评论(11) 推荐(3) 编辑
摘要:上一篇介绍了OO Mapper的作用以及支持的功能。这一篇将以上一篇为提纲进行实践。 准备工作:下载NLite编译NLite 项目创建一个NUnit单元测试项目添加NLite.dll 引用添加 : using NLite; 实践: 1. Any -> StringAssert.AreEqual("5", Mapper.Map<int, string>(5)); 2. primitive->Enum,Enum->primitive [TestFixture] public class EnumTests { public enum En1 : b 阅读全文
posted @ 2011-04-08 12:50 风云 阅读(4199) 评论(6) 推荐(6) 编辑
摘要:昨天看了dudu 老大的文章博客园现代化建设——AutoMapper有感便推荐一下OOMapper 组件,诚然OOMapper 组件是站在巨人的肩膀上,如AutoMapper,EmitMapper,以及Codeplex上所有类似组件上都做了借鉴,也重新发明了轮子,但是在发明轮子的过程中个人的积累也在提升。 OO Mapper 是NLite组件库中的一个组件,它是一个对象到对象转换的映射工具,常常用于把复杂的对象转化为DTO对象。 OO Mapper 支持以下映射功能: Any -> String Primitive -> Enum Enum -> Primitive Null 阅读全文
posted @ 2011-04-08 11:45 风云 阅读(7050) 评论(20) 推荐(3) 编辑