.NET方面的框架的整治和小结

自打学习.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文件。

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开发框架。

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仅提供非持久性的队,也就是说要宕机,数据将会见少。其中,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地图