.NET平台常用的框架整理

基于.NET平台常用的框架整理

DotNet | 2016-03-31 17:13

(点击上方蓝字,可火速关心大家)

发源:天使不哭

链接:http://www.cnblogs.com/hgmyz/p/5313983.html

从今学习.NET以来,优雅的编程风格,万分不难的可扩大性,丰盛强劲开发工具,极小的学习曲线,让自身对那一个平台暴发了深切的趣味,在办事和读书中也积累了一部分开源的零件,就当前想到的先收拾于此,若是再想到,就继续补充那篇日记,日积月累,就能形成一个自己的机件经验库。

 

分布式缓存框架:

Microsoft Velocity:微软自家分布式缓存服务框架。

Memcahed:一套分布式的高速缓存系统,近年来被过多网站使用以升级网站的访问速度。

Redis:是一个高质量的KV数据库。
它的面世很大程度补偿了Memcached在一些地点的不足。

EnyimMemcached:访问Memcached最美妙的.NET客户端,集成不错的分布式均衡算法。

开源的.NET系统推荐:

OXITE:微软ASP.NET MVC案例演示框架。

PetShop:微软ASP.NET宠物商店。

Orchard:海外一个MVC开源的博客系统。

SSCLI:微软在NET Framework 2.0一代的开源代码。

DasBlog:海外一个基于ASP.NET的博客系统。

BlogEngine.NET:国外一款免费开源的博客系统。

Dotnetnuke.NET:一套万分优秀的基于ASP.NET的开源门户网站程序。

Discuz.NET:国内开源的论坛社区系列。

nopCommerce和Aspxcommerce:国外一套高品质的开源B2C网站系统。

JumboTCMS和DTCMS:国内两款开源的网站管理连串:

日志记录卓殊处理:

Log4Net.dll:轻量级的免费开源.NET日志记录框架。

Enterprise Library Log Application Black:微软公司库日志记录。

Elmah:完结最盛行的ASP.NET应用更加日志记录框架。

NLog:是一个简练利落的日记记录类库,质量比Log4Net高,使用和敬服难度低。

关于NoSQL数据库:

Mongodb:分布式文件存储数据库。

Membase:家族的一个新的重量级的分子。

自行职分调度框架

Quartz.NET:开源的课业调度和电动职责框架。

Topshelf:另一种成立Windows服务的开源框架

依靠注入IOC容器框架:

Unity:微软patterns&practicest团队费用的IOC看重注入框架,援救AOP横切关怀点。

MEF(Managed Extensibility
Framework):是一个用来扩充.NET应用程序的框架,可支付插件系统。

Spring.NET:看重注入、面向方面编程(AOP)、数据访问抽象,、以及ASP.NET集成。

Autofac:最盛行的依赖注入和IOC框架,轻量且高质量,对品种代码大致无其余侵入性。

PostSharp:达成静态AOP横切关切点,使用不难,功用强大,对目标拦截的方法无需任何变更。

Ninject:基于.NET轻量级开源的依赖性注入IOC框架

常用的几个ORM框架:

EF(ADO.NET Entity Framework):微软按照ADO.NET开发的ORM框架。

Nhibernate:面向.NET环境的轻量级的ORM框架。

SqlMapper.cs:用于小项目的通用的C#数据库访问类。

AutoMapper:流行的对象映射框架,可削减大气硬编码,很精细灵活,品质表现也可接受。

SubSonic:杰出的开源的ORM映射框架,同时提供符合自己需求的代码生成器。

FluentData:开源的基于Fluent API的链式查询ORM轻量级框架。

Dapper:轻量级高质量基于EMIT生成的ORM框架。

EmitMapper:品质较高的ORM框架,运行时通过EMIT动态生成IL代码,并非拔取反射机制。

格式和数据类型转换

Newtonsoft.Json:近期.NET开销中最流行的JSON系列化库,为新版的WebApi库提供基础。

System.JSON.dll:微软温馨开支的JSON种类化组件(要求独自下载)

DataContractJsonSerializer 和
DataContractXmlSerializer:微软在WCF中动用的系列化器。

JavaScriptSerializer:微软默许针对WEB开发者提供的JSON格式化器。

iTextSharp、PDFsharp 和 PDF.NET:通过.NET处理和生成PDF文档的机件。

SharpZipLib.dll:免费开源的ZIP和GZIP文件解压缩组件。

Math.NET:强大的数学运算、微积分、解方程和科学运算。

DocX:不要求安装word软件,通过C#操作word文件。

夏普Serializer:开源XML和、二进制、JSON、压缩和优化框架。

反射和动态语言

Clay
dynamic:开源的动态语言dynamic框架让您形如javascript的法子成立对象。

ExposedObject:在类的外表通过动态语言dynamic的主意访问私有成员。

PrivateObject:微软单元测试框架中便捷在外表调用类内部私有成员的一个类。

跨平台和运转时解决方案

MONO.NET:跨平台的.NET运行环境,让.NET跨平台运行成为可能。

DotGnu Portable.NET:类似于MONO.NET的跨平台运行时。

Phalanger:将PHP编译成.NET,可实现PHP与.NET互操作。

VMDotNet:中国电信飞信所接纳过的.NET运行时。

Unity3D:微软大力协理的机遇C#和JavaScript的跨平台游戏支付框架。

Cassini、IIS Express和Cassinidev:开源的ASP.NET执行环境。

Katana:微软根据OWIN规范落实的非IIS寄宿ASP.NET和MVC等。

IKVM.NET:基于.NET的JAVA虚拟机,让JAVA运行在.NET之上。

WEB开发和安排性

Jumony Core:基于.NET开发的HTML引擎。

Microsoft.mshtml.dll、Winista.HtmlParser.dll 和
HtmlAgilityPack.dll:解析处理HTML文档的框架。

JavaScript.NET和ClearScript(微软产品):基于.NET开发的JavaScript引擎。

NCrawler:其HTML处理引擎htmlagilitypack的的开源网络爬虫软件。

AntiXSS:微软官方预防跨站XSS脚本侵袭攻击的开源类库,它经过白名单机制进行内容编码。

YUICompressor.NET、Microsoft Ajax Minifier 和 Google Closure
Compiler:JavaScrip和CSS压缩器。

南茜Fx:是一个不利的轻量级开源.NET
WEB框架。假诺想疾速做个简易的WEB应用。

AspNetPager:国内赫赫知名的ASP.NET分页控件,支持多种分页方式。

NOPI.dll:导出Excel报表的插件(基于微软OpenXml已毕)(nopi.css.dl通过css设置样式)

Enterprise Library:微软本着集团级应用开发的特等实践组件。

PowerCollections:海外一个牛人写的高等级开源集合。

移动网络和云总结

PushSharp:通过.NET向各样运动平台推送消息。

mono for android:用.NET语言开发安卓应用:

MonoTouch:用.NET语言开发IOS应用。

PhoneGap和AppCan:跨平台基于HTML5的移动支付平台。

Cordova:PhoneGap进献给Apache后的开源项目,是驱动PhoneGap的着力引擎。

互连网通信和网络协议

SuperSocket:基于.NET轻量级的可扩展的Socket开发框架。

SuperWebSocket:通过.NET实现TML5 WebSocket框架。

XProxy:支持插件的底子代理程序集,内置NAT、加解密、反向、直接和直接代理。

图表和图像处理框架

Paint.NET:基于.NET小巧灵活有力的图形处理开源项目。

Imagemagick.NET:用C#对开源图像处理组件Imagemagick的包装。

Skimpt:基于.NET开源的屏幕截图软件。

ImageGlue.NET:商业的图像处理组件,协理的格式列了一大堆。

Sprite and Image Optimization
Framework:微软CSS天使,多图合成一张大图和CSS样式。

桌面应用程序框架

DevExpress:一个中外盛名的桌面应用程序UI控件库。

Prism:微软成本的针对性WPF和Silverlight的MVVM框架,通过功用模块化的考虑,来讲复杂的业务功用和UI耦合性进行分离。

WPFToolkit 和 Fluent Ribbon Control
Suite:开发近乎于Office风格的Ribbon菜单。

测试和属性评估方面

Faker.Net:方便生成大量测试数据的框架。

Nunit:一个轻量级的单元测试框架。

Moq:相当流行的Mock框架,接济LINQ,灵活且高质量。

xUnit:比NUnit更好的单元测试框架,升级改进版的Nunit框架。

MiniProfiler和Glimpse:基于MVC的五款品质事件监控框架。

作业和分布式事务帮忙

KtmIntegration:一个支撑NTFS文件系统的事体开源类。

NET Transactional File
Manager:对文件系统操作(复制、移动和删除)参预工作支持。

分词、全文检索和摸索引擎

Lucene.net:流行高质量的全文索引库,可用以为各种音讯提供强大的寻找效果。

Lucene.Net.Analysis.PanGu:援救Lucene.Net最新版的苍天中文分词扩张库。

数码证实组件整理

FluentValidation for .NET:基于LINQ表明式方法链Fluent接口验证组件。

Microsoft.Practices.EnterpriseLibrary.Validation.dll:微软商厦库验证程序块。

CuttingEdge.Conditions:基于Fluent接口方法练接口的契约编程组件。

DotNetOpenAuth:让网站有着匡助OpenID、OAuth、InfoCard等身份验证的力量。

开源图表总结控件:

Visifire:一套效果格外好的WPF图表控件,支持3D绘制、曲线、折线、扇形、环形和梯形。

SparrowToolkit:一套WPF图表控件集,援救绘制动态曲线,可绘制示波器、CPU使用率和波形。

DynamicDataDisplay:微软开源的WPF动态曲线图,线图、气泡图和热力图。

可以增添新闻队列序列:

Kafka:分布式的,基于宣布/订阅的新闻系统。重要设计目标如下:

以时日复杂度为O(1)的点子提供新闻持久化能力,即便对TB级以上数量也能确保常数时间复杂度的走访质量。

高吞吐率。即使在更加廉价的商用机器上也能做到单机扶助每秒100K条以上音讯的传输。

支持Kafka
Server间的新闻分区,及分布式消费,同时确保每个Partition内的音信顺序传输。

并且辅助离线数据处理和实时数据处理。

Scale out:辅助在线水平增加。

RabbitMQ

RabbitMQ是行使Erlang编写的一个开源的新闻队列,本身辅助广大的协议:AMQP,XMPP,
SMTP,
STOMP,也正因如此,它更加重量级,更契合于集团级的付出。同时完毕了Broker构架,那意味信息在发送给客户端时先在中央队列排队。对路由,负载均衡或者数额持久化都有很好的支撑。

Redis

Redis是一个依照Key-Value对的NoSQL数据库,开发尊崇很活泼。即便它是一个Key-Value数据库存储系统,但它自己协理MQ效率,所以完全可以看做一个轻量级的队列服务来行使。对于RabbitMQ和Redis的入队和出队操作,各执行100万次,每10万次记录一次实践时间。测试数据分为128Bytes、512Bytes、1K和10K多少个例外大小的数额。实验注脚:入队时,当数码相比小时Redis的特性要高于RabbitMQ,而只要数据大小超过了10K,Redis则慢的不可以忍受;出队时,无论数额大小,Redis都表现出尤其好的性质,而RabbitMQ的出队品质则远低于Redis。

ZeroMQ

ZeroMQ号称最快的音信队列系统,尤其针对大吞吐量的需要处境。ZeroMQ可以落到实处RabbitMQ不擅长的高档/复杂的队列,不过开发人士需要团结组合四种技能框架,技术上的复杂度是对那MQ可以运用成功的挑衅。ZeroMQ具有一个独特的非中间件的形式,你不须要安装和运转一个新闻服务器或中间件,因为您的应用程序将饰演这一个服务器角色。你只需求容易的引用ZeroMQ程序库,可以拔取NuGet安装,然后您就足以心满意足的在应用程序之间发送新闻了。然而ZeroMQ仅提供非持久性的队列,也就是说如若宕机,数据将会丢掉。其中,推特的Storm0.9.0在先的本子中默许使用ZeroMQ作为数据流的传输(Storm从0.9版本伊始还要协理ZeroMQ和Netty作为传输模块)。

ActiveMQ

ActiveMQ是Apache下的一个子项目。
类似于ZeroMQ,它亦可以代表和点对点的技术达成队列。同时类似于RabbitMQ,它少量代码就足以长足地落到实处高级应用场景。

Kafka/Jafka

Kafka是Apache下的一个子项目,是一个高质量跨语言分布式公布/订阅音讯队列系统,而Jafka是在Kafka之上孵化而来的,即Kafka的一个升级版。具有以下特点:疾速持久化,可以在O(1)的连串开发下进展音信持久化;高吞吐,在一台一般的服务器上既可以达标10W/s的吞吐速率;完全的分布式系统,Broker、Producer、Consumer都原生自动扶助分布式,自动已毕负载均衡;辅助Hadoop数据交互加载,对于像Hadoop的如出一辙的日志数据和离线分析系统,但又要求实时处理的限量,那是一个立见作用的解决方案。Kafka通过Hadoop的相互加载机制统一了在线和离线的音讯处理。Apache
Kafka相对于ActiveMQ是一个极度轻量级的新闻系统,除了品质相当好之外,仍然一个做事可以的分布式系统。

【昨天微信公号推荐↓】

 

愈来愈多引进请看《值得关切的技术和布置公众号》

其间推荐了概括技术、设计、极客 和
IT相亲相关的热门公众号。技术涵盖:Python、Web前端、Java、安卓、iOS、PHP、C/C++、.NET、Linux、数据库、运维、大数目、算法、IT职场等。点击《值得关切的技巧和设计公众号》,发现好好!

 

音乐节详情,请点阅读原文

 原网页已由QQ浏览器云转码

 

网站地图xml地图