.NET平台常用之框架整理

自学习.NET以来,优雅的编程风格,很是简单的只是扩张性,丰裕强大开发工具,极小的学曲线,让我本着之平台发生了深厚的兴味,在做事与学着为积累了有开源的零部件,就现阶段想到的事先整理为这几个,尽管又想到,就延续补充就首日记,日积月累,就可知形成一个祥和的机件经验库。

NoSQL 1

分布式缓存框架:

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文件。

SharpSerializer:开源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压缩器。

NancyFx:是一个不错的轻量级开源.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开发框架。

SuperWebSocketNoSQL,:通过.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仅提供非持久性的班,也就是说要宕机,数据将会师丢掉。其中,Twitter的Storm
0.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是一个特别轻量级的信网,除了性能大好以外,依旧一个干活杰出的分布式系统。

网站地图xml地图