Mapster-的经常使用方法-.NET-畛域中性能最佳的对象映射框架 (mapster插件)
Mapster是一个开源的对象映射库,它提供了一种便捷而弱小的模式来处置对象之间的映射。在本文中,我将具体引见如何在.NET中经常使用Mapster,并提供一些实例和源代码。
和其它框架性能对比:
Mapster的装置和性能:
性能映射规定:在MappingConfig.cs文件中,参与以下代码来性能映射规定:
usingMapster;publicstaticclassMappingConfig{publicstaticvoidConfigure(){TypeAdapterConfig.GlobalSettings.Default.NameMatchingStrategy(NameMatchingStrategy.Flexible);TypeAdapterConfig.GlobalSettings.Default.PreserveReference(true);//参与映射规定TypeAdapterConfig<MySource,MyDestination>.NewConfig().Map(dest=>dest.DestinationProperty,src=>src.SourceProperty).Map(dest=>dest.AnotherProperty,src=>src.AnotherProperty);}}
在上方的代码中,咱们首先设置了Mapster的一些全局设置。NameMatchingStrategy.Flexible示意属性称号不辨别大小写。PreserveReference(true)示意保管援用相关。
而后,咱们经常使用TypeAdapterConfig类的NewConfig方法来创立一个新的映射规定。在这个例子中,咱们将MySource类映射到MyDestination类。经常使用Map方法来指定属性之间的映射相关。
经常使用Mapster启动对象映射:在咱们性能好映射规定后,咱们可以在代码中经常使用Mapster来启动对象之间的映射。上方是一个便捷的示例:
usingMapster;publicclassMySource{publicstringSourceProperty{get;set;}publicstringAnotherProperty{get;set;}}publicclassMyDestination{publicstringDestinationProperty{get;set;}publicstringAnotherProperty{get;set;}}publicclassProgram{staticvoidMn(string[]args){//性能映射规定MappingConfig.Configure();//创立源对象varsource=newMySource{SourceProperty="Hello",AnotherProperty="World"};//执行映射vardestination=source.Adapt<MyDestination>();//输入结果Console.WriteLine(destination.DestinationProperty);//输入:HelloConsole.WriteLine(destination.AnotherProperty);//输入:World}}
在上方的示例中,咱们首先调用MappingConfig.Configure方法来性能映射规定。而后,咱们创立了一个源对象source,并设置了它的属性值。接上去,咱们经常使用Adapt方法将源对象映射到指标对象destination。最后,咱们可以经过访问指标对象的属性来失掉映射结果。
初级用法:Mapster还提供了一些初级用法,用于处置更复杂的映射场景。
疏忽属性映射:
有时刻,咱们或者宿愿在映射环节中疏忽某些属性。可以经常使用Ignore方法来成功:
TypeAdapterConfig<MySource,MyDestination>.NewConfig().Ignore(dest=>dest.DestinationProperty);
自定义属性映射:
可以经常使用MapWith方法来自定义属性之间的映射逻辑:
TypeAdapterConfig<MySource,MyDestination>.NewConfig().Map(dest=>dest.DestinationProperty,src=>src.SourceProperty.ToUpper());
汇合映射:
Mapster还支持汇合之间的映射。例如,咱们有一个蕴含多个MySource对象的列表,咱们可以经常使用Adapt方法将它们映射到蕴含多个MyDestination对象的列表:
varsourceList=newList<MySource>{newMySource{SourceProperty="Hello",AnotherProperty="World"},newMySource{SourceProperty="Foo",AnotherProperty="Bar"}};vardestinationList=sourceList.Adapt<List<MyDestination>>();
嵌套对象映射:
假设源对象和指标对象中蕴含嵌套的对象,咱们可以经常使用MapWith方法来处置嵌套对象的映射:
TypeAdapterConfig<MySource,MyDestination>.NewConfig().Map(dest=>dest.NestedObject,src=>src.NestedObject.Adapt<NestedDestination>());
以上就是经常使用Mapster启动对象映射的方法、步骤和一些初级用法的引见。经过经常使用Mapster,咱们可以轻松地处置对象之间的映射,并且可以依据须要启动自定义和裁减。
谁知道microsoft .net framework是干什么用的?
建议你将有关的 .NET Framework全部卸载,重新下载安装 .NET Framework3.0(或3.5)版就足够啦....它是微软的一种文件(程序)系统架构,现在有很多新版的应用程序(包括某些游戏)都需要它的支持才能够运行,若无需要大可不必安装它,节省了硬盘的不少空间......
推荐几本javaEE的书籍,经典的。不要李刚的(虽然讲的好,但是繁琐,基础东西太多了)。结合了三大框架的
第一部分: Java语言篇1 《Java编程规范》星级:适合对象:初级,中级介绍:作者James Gosling(Java之父),所以这本书我觉得你怎么也得读一下。 对基础讲解的很不错。 2 《Java核心技术:卷Ⅰ基础知识》星级:适合对象:初级,中级介绍:官方机构图书,你怎么也得有一本,这本书比较全面而且易懂。 放在案旁用到的时候查一查,看一看。 是学习入门必备书。 当然还有II注:新手必备3 《Java编程思想》星级:适合对象:初级,中级介绍:这本书的作者就是著名的C++编程思想,对OO的理解很好,Java作为一门面向对象的语言,你学习Java最好也同时参考这本书进行入门学习。 注:新手必备4 《Effective Java》星级:适合对象:初级,中级,高级介绍:作者是Java的第2号人物,目前是Google的Java老大,是James Gosling强力推荐的一本书。 5 《Java与模式》星级: 适合对象:中级,高级介绍:是国人写的难得的值得购买的一本书,当然现在也有大话设计模式之类的出现,这本书出现的比较早,是初级到中高级必读的图书之一。 注:没有理解面向对象前,读这本书没有意义。 最好是有过项目经验再读比较好。 6 《SCJP学习指南》 星级:适合对象:初级,中级介绍:官方考试必备图书,对你检验自己学些Java知识情况很有帮助,这本书最适合学生阅读,这本书理解透了,找工作面试Java题目不会有任何问题,工作多年的拿这里的题目不会做的都很多。 7 《Java数据结构和算法》星级: 适合对象:初级,中级,高级介绍:这本书使用Java语言描述了我们常用的数据结构,写的非常不错。 值得一看,不过目前基本断货(这个就是最有利的说明)。 8《Junit Recipes中文版:程序员实用测试技巧》星级:适合对象:初级,中级,高级介绍:目前敏捷盛行,这个你是不管怎样也得看一看的。 第二部分:中级进阶篇1《spring in action》星级:适合对象:初级,中级,高级介绍:Spring框架,作为Java程序员是怎么都必须学习的。 IOC、AOP是你以后见到的软件的基础。 另外基本上很多东西都和Spring产生联系。 2《精通Spring 2.x:企业应用开发详解》星级:适合对象:初级,中级,高级介绍:书中提供了Spring中的目前最流行用法的实例和实用情况。 3《iBatis实践》星级:适合对象:初级,中级,高级介绍:iBatis必看参考书,in action从未让人失望过。 4 《精通hibernate:Java对象持久化技术详解》星级:适合对象:初级,中级,高级介绍:Hibernate必备参考书,也是国人写的,难得的一本好书,而且作者是个MM。 5 《Struts 2.1权威指南》星级:适合对象:初级,中级介绍:学习Struts2的一本国人写的不错的书,不过名称显得大了点。 权威指南应该只有作者才可以这么叫。 6 《Maven实践》星级:适合对象:初级,中级介绍:从Ant到Maven现在时大势所趋了,您怎么也得学习一下。 7《expert one-on-one J2EE Development without EJB中文版》星级:适合对象:初级,中级介绍:这个其实是Spring的基础,作者巨牛。 强力推荐,可惜是基本买不到这本书了。 8 《Tomcat权威指南》星级:适合对象:初级,中级介绍:做Java Web的一般都必须学习这个,为Apache的开源项目。 9 《Head First Servlets & Jsp》星级:适合对象:初级,中级介绍:Servlet和Jsp作为JavaEE程序员是必须要掌握好的,而且Head First系列从未令人失望。 10 《Head First HTML与》星级:适合对象:初级介绍:介绍Web前端的不错的入门书。 11 《HTML+CSS网页设计与布局从入门到精通》星级:适合对象:初级介绍:这本书最大的特点是带光盘而且讲解的不错,应用实例也不错。 12 《JavaScript宝典》星级:适合对象:初级,中级,高级介绍:是学习js的必备参考工具书之一,我记得几年前国内都没有中文版,我都把整本书打印出来看了一下。 13 《JavaScript权威指南》星级:适合对象:初级,中级,高级介绍:是学习js的必备参考工具书之一。 我看我同事购买了,看起来还不错。 14 《征服Ajax Web2.0开发技术详解》星级:适合对象:初级,中级介绍:这本书当年是CSDN送给我的,感觉还是不错的。 对学习AJAX有帮助。 15 《jQuery基础教程》星级:适合对象:初级,中级,高级介绍:从这个开始学习jQuery才是根本。 不然以后遇到的很多奇怪问题不知所以然。 jQuery个人感觉已经成为目前的javascript标准库了,插件无数,大大简化了前端工作。 16 《XML入门经典》星级:适合对象:初级,中级,高级介绍:很多人觉得没必要买XML书籍,不过我还是觉得推荐一本给你作为工具书,而且看本书可以使得你对XML方方面面有个了解。 里面不少东西还是用到的。 17 《敏捷软件开发(原则模式与实践)》星级:适合对象:中级,高级介绍:敏捷大师的著作,您怎么也得看看。 这本书包含了UML的讲解,所以我就不推荐UML的书了。 18 《重构:改善既有代码的设计》星级:适合对象:中级,高级介绍:同样是大师的杰作,不可不看。 最重要的是让你明白软件也是一步步改进的,不是一蹴而就的。 19 《代码整洁之道》星级:适合对象:中级,高级介绍:软件工程的理想编码是需要无数人编出来的代码像一个人写的。 这本书当作规范就不错。 星级:20 《Java Web Service》适合对象:中级,高级介绍:不过还是推荐一下我看过的吧。 了解基本概念还是要本书的。 注意:WebService的图书我还真不知道给您推荐什么,都不怎么样。 您做个实例就明白,不过怎么做接口才是核心。 第三部分:高级篇1《Java消息服务》星级:适合对象:初级,中级,高级介绍:消息机制是以前分布式经常实用到的,与此相关的有Apache Active MQ进行开发,而且这本书的实例也是用的AQ。 星级:2 《Java并发实践》适合对象:中级,高级介绍:这本书也是牛人们强力推荐的,学习并发必备。 Java Thread Programming另外推荐一本英文的:3 《Enterprise JavaBeans 3.0中文版》星级:适合对象:中级,高级介绍:EJB技术在大型系统中使用,主要有银行等金融机构。 是开发分布式程序的选项之一,不过我不喜欢,其实银行使用的也不怎么的。 结合JavaEE容器使用,开源的有JBoss,商用的有IBM和Oracle支持。 4 《Hadoop权威指南》注:该类型书也有Head First系列,也很不错。 另外《J2EE应用与BEA WebLogic Server》书也很不错。 星级:适合对象:中级,高级介绍:云计算必备图书。 作为分布式计算的工具,Hadoop目前可以说是市场上唯一成熟的产品,而且大家也都向其看齐。 而起云计算炙手可热,你搞明白这本书就大概明白了什么是云以及怎么做云。 做Hadoop的没人不读这本书,没读过的也不要说你搞过Hadoop。 星级:附: 《Linux 鸟哥的私房菜》适合对象:初级,中级,高级介绍:这本书对使用和学习Linux很有用,大而全,解释的也不错,常用的基本都有了,一本在手,绝无顾忧。 最后,推荐一本贯彻全部软件工程和全文的图书《代码大全》,只是一句话:两届Software Development Magzine Jolt Award震撼大奖得主。 最近发现有人购买我的2手书:附加:深入Java虚拟机(原书第2版)附光盘---SUN公司核心技术丛书所以我推荐一下下面的这本:The Java Virtual Machine Specification个人认为这个写的比较好,并且更权威。
免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。