开源框架

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

自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前想到的先整理于此,如果再想到,就继续补充这篇日志,日积月累,就能形成一个自己的组件经验库。

常用的一些开源组件整理:

导出Excel报表的插件:NOPI.dll(基于微软OpenXml实现)(nopi.css.dl通过css设置样式) 开源的作业调度和自动任务框架:Quartz.NET 微软针对企业级应用开发的最佳实践组件:Enterprise Library 5.0 国外一个牛人写的高级开源集合:PowerCollections 国内知名的ASP.NET分页控件,支持多种分页方式:AspNetPager

分布式缓存框架:

Microsoft Velocity(微软自家的) Memcahed(支持多种语言的客户端API访问缓存) Redis(比Memcahed多了数据持久化特性)

开源的.NET系统推荐:

微软ASP.NET MVC案例演示框架:OXITE 微软ASP.NET宠物商店:PetShop 国外一个MVC开源的博客:Orchard1.3 NET Framework开源代码:SSCLI(微软也开源过.NET框架) 国外一个ASP.NET博客系统: DasBlog2.3 举世闻名博客引擎:BlogEngine.NET2.5 微软支持的空前绝后的很多人研究的:Dotnetnuke.NET 国内开源的论坛社区系统:Discuz.NET 国外一套高质量的开源B2C网站系统:nopCommerce和Aspxcommerce 国内两款开源的网站管理系统:JumboTCMS和DTCMS

日志记录异常处理:

轻量级的日志记录框架:Log4Net.dll 微软企业库日志记录:Enterprise Library Log Application Black

关于NoSQL数据库:

分布式文件存储数据库:Mongodb 家族的一个新的重量级的成员:Membase

依赖注入IOC容器框架:

微软企业与实践组开发的:Enterprise Library Unity 微软框架已经自动集成的:MEF(Managed Extensibility Framework) 一个曾被很多人用过的轻量级注入框架:Spring.NET 轻量级性能较好的IOC框架:Autofac 实现静态AOP横切关注点:PostSharp

常用的几个ORM框架:

微软企业与实践组开发的:Microsoft LINQ To SQL 微软对新的支持多数据库的:Microsoft ADO.NET Entity Framework 一个极度轻量级的ORM框架 :Nhibernate 一个速度极快,轻量级的ORM类,就一个文件:SqlMapper.cs 对象映射,领域对象与DTO之间转换、将查询结果映射至实体:AutoMapper 基于数据库自动创建数据库访问层:SubSonic

格式和数据类型转换

JOSN数据格式序列化和反序列化:JSON.NET 非常轻量级且高性能的JSON序列化器:fastJSON 微软自己开发的JSON序列化组件:System.JSON.dll(需要单独下载) 微软在WCF中使用的序列化器:DataContractJsonSerializer和DataContractXmlSerializer 微软默认针对WEB开发者提供的JSON格式化器:JavaScriptSerializer 通过.NET处理和生成PDF文档的组件:iTextSharp、PDFsharp和PDF.NET 免费开源的ZIP文件解压组件:SharpZipLib.dll 强大的数学运算、微积分、解方程和科学运算:Math.NET 不需要安装word软件,通过C#操作word文件:DocX 开源XML和、二进制、JSON、压缩和优化框架:SharpSerializer

反射和动态语言

开源的动态语言dynamic框架让您形如javascript的方式创建对象:Clay dynamic 在类的外部通过动态语言dynamic的方式访问私有成员:ExposedObject 微软单元测试框架中便捷在外部调用类内部私有成员的一个类:PrivateObject

跨平台和运行时解决方案

跨平台的.NET运行环境,几乎无所不能:MONO.NET 类似于MONO.NET的跨平台运行时:DotGnu Portable.NET 将PHP编译成.NET,可实现PHP与.NET互操作:Phalanger 中国移动飞信所使用过的.NET运行时:VMDotNet 支持C#和JavaScript的跨平台游戏框架:Unity3D 开源的ASP.NET执行环境:Cassini、IIS Express和Cassinidev 微软基于OWIN规范实现的非IIS寄宿ASP.NET和MVC等:Katana

WEB开发和设计

基于.NET开发的HTML引擎:Jumony Core 高性能解析处理HTML的框架:Microsoft.mshtml.dll、Winista.HtmlParser.dll和HtmlAgilityPack.dll 基于.NET开发的JavaScript引擎:JavaScript.NET和ClearScript(微软出品) 提供了标准的DOM API和XPath导航引擎,支持不规则的HTML:Html Agility Pack 其HTML处理引擎htmlagilitypack的的开源网络爬虫软件:NCrawler 微软官方防跨站XSS脚本入侵:AntiXSS

移动互联网和云计算

通过.NET向各种移动平台推送消息:PushSharp 用.NET语言开发安卓应用:mono for android 用.NET语言开发IOS应用:MonoTouch 跨平台基于HTML5的移动开发平台:PhoneGap和AppCan

网络通信和网络协议

基于.NET轻量级的可扩展的Socket开发框架:SuperSocket 通过.NET实现TML5 WebSocket框架:SuperWebSocket 基于C#语言的HTTP协议的类库:HttpLib 支持插件的基础代理程序集,内置NAT、加解密、反向、直接和间接代理:XProxy

图形和图像处理框架

基于.NET小巧灵活强大的图形处理开源项目:Paint.NET 用C#对开源图像处理组件Imagemagick的封装:Imagemagick.NET 基于.NET开源的屏幕截图软件:Skimpt 商业的图像处理组件,支持的格式列了一大堆:ImageGlue.NET

桌面应用程序框架

一个全球知名的桌面应用程序UI控件库:DevExpress 开发Office风格的Ribbon菜单:WPFToolkit和Fluent Ribbon Control Suite

测试和性能评估方面

方便生成大批量测试数据的框架:Faker.Net 一个轻量级的单元测试框架:NUNIT.NET

事务和分布式事务支持

一个支持NTFS文件系统的事务开源类:KtmIntegration 对文件系统操作(复制、移动和删除)加入事务支持:.NET Transactional File Manager

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

用于大数据搜索引擎的全文检索框架:Lucene.net 很不错的中文分词算法盘古文词:PanGu.Lucene.Analyzer.dll和PanGu.dll

数据验证组件整理

基于LINQ表达式方法链Fluent接口验证组件:FluentValidation for .NET 微软企业库验证程序块:Microsoft.Practices.EnterpriseLibrary.Validation.dll 基于Fluent接口方法练接口的契约编程组件:CuttingEdge.Conditions

本文不断收录更新中,希望对您有所帮助。。。。

时间: 2024-10-10 21:43:48

开源框架的相关文章

Android开源框架ImageLoader:加载图片的三级缓存机制

前言:可从  https://github.com/nostra13/Android-Universal-Image-Loader 下载三级缓存机制的开源框架.下文简单介绍该框架中主要的常用方法,掌握这些方法,基本就可应对多数图片下载的需求. 注意:以下代码为示意代码片断,仔细读一下应能知道怎么用.蓝色表示为开源框架中的类. 1.初始化ImageLoader类对象: ImageLoader imageLoader = ImageLoader.getInstance(); imageLoader.

Android开源框架 Android-Universal-Image-Loader

Android开源框架Universal-Image-Loader就像图片加载守护者,为我们提供了丰富的功能特性: (1)多线程加载图像(异步或同步): (2)高度可定制化imageloader配置(线程池.图片下载器.解码器.内存和磁盘缓存.显示图像选项等): (3)每一个显示图像有许多自定义选项(存根图片,缓存开关,解码选项,位图处理和显示等): (4)支持内存和磁盘上的图像缓存(设备的文件系统和SD卡): (5)监听加载过程(包括下载进度): 下来我们详解如何配置使用Universal-I

android-async-http开源框架的详细解释

Android网络请求库:android-async-http开源框架 之前有一篇描述了客户端请求服务器端的方式-Post的请求方式.今天介绍一个请求服务器的一个开源库-android-async-http库. 1. 概念: 这个网络请求库是基于Apache HttpClient库之上的一个异步网络请求处理库,网络处理均基于Android的非UI线程,通过回调方法(匿名内部类)处理请求结果. 2. 特征: (1).处理异步Http请求,并通过匿名内部类处理回调结果 **(2).**Http异步请

《开源框架那点事儿25》:对框架模板引擎实现方式的改造实录

点滴悟透设计思想,Tiny模板引擎优化实录! 增加框架设计兴趣小组:http://bbs.tinygroup.org/group-113-1.html Tiny模板引擎的实现方式原来是採用的编译方式,近期发生了一些问题.因此我认为有必要把编译方式调整为解释方式,为此就開始了此次实现活动. 编译方式存在的问题 当时採用编译方式.主要是考虑到编译方式在执行时不必再去遍历语法树.因此就採用了编译方式. 可是在实际应用其中,出现了例如以下问题: 文件路径冲突的问题 因为採用的是编译方式,这个时候就存在在

六款值得推荐的android(安卓)开源框架简介

1.volley 项目地址 https://github.com/smanikandan14/Volley-demo (1) JSON,图像等的异步下载: (2) 网络请求的排序(scheduling) (3) 网络请求的优先级处理 (4) 缓存 (5) 多级别取消请求 (6) 和Activity和生命周期的联动(Activity结束时同时取消所有网络请求) 2.android-async-http 项目地址:https://github.com/loopj/android-async-http

Android酷炫实用的开源框架(UI框架)

前言 忙碌的工作终于可以停息一段时间了,最近突然有一个想法,就是自己写一个app,所以找了一些合适开源控件,这样更加省时,再此分享给大家,希望能对大家有帮助,此博文介绍的都是UI上面的框架,接下来会有其他的开源框架(如:HTTP框架.DB框架). 1.Side-Menu.Android分类侧滑菜单,Yalantis 出品.项目地址:https://github.com/Yalantis/Side-Menu.Android2.Context-Menu.Android可以方便快速集成漂亮带有动画效果

iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)

iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角) 2015-04-05 15:25 2482人阅读 评论(1) 收藏 举报开源框架 图像: 1.图片浏览控件MWPhotoBrowser       实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等操作.      下载:https://github.com/mwaterfall/MWPhotoBrowser目前比较活跃的社区仍旧是Github,

【光速使用开源框架系列】数据库框架OrmLite

[关于本系列] 最近看了不少开源框架,网上的资料也非常多,但是我认为了解一个框架最好的方法就是实际使用.本系列博文就是带领大家快速的上手一些常用的开源框架,体会到其作用. 由于作者水平有限,本系列只会描述如何快速的使用框架的基本功能,更多的详细设置大家可以在这些项目的页面上找到. [介绍]: ORMLite是一款辅助开发数据库的框架,可以通过给实体配置标注来快速建立数据表,也可以通过其提供的DAO类中的方法来快速对数据库进行操作,如增删改查等. [项目页面]: http://ormlite.co

《开源框架那些事儿21》:巧借力与借巧力

同样做前端UI,为什么有人花了一点力气,就可以做好?而有的人费尽全力,仍然错误百出?我们可以先看看几个故事. 故事1:巧借力,乌鸦也可以吃核桃 有一个盛产核桃的村子,每年秋末冬初,成群的乌鸦总会来到这里,到果园里捡拾那些被果农们遗落的核桃. 核桃仁虽然美味,但是外壳那么坚硬,乌鸦怎么才能吃到呢?原来乌鸦先把核桃叼起,然后飞到高高的树枝上,再将核桃摔下去,核桃落到坚硬的地面上,被撞破了,于是,乌鸦就得到了那美味的核桃仁. 可是,让核桃从高空坠落,核桃壳破裂的概率很低,很多时候,乌鸦都是望而兴叹.然

《开源框架那点事儿18》:为什么要先从测试用例编写和文档编写开始?

有一个同学,问我一个问题:加入Tiny是否必须从写单元测试用例和文档作起? 此问题引发我诸多感触,故形成乱弹一篇. 作为一个新加入者,多看.少说,是正点.而这个时候,写写测试用例.文档,就是个不错的选择.这样入手比较容易,也比较容易体现水平. 可以说好的程序员,测试和文档都是写得好的.测试和文档一定写不好的,一定不是好的程序员. 同时,在看代码,写测试用例.写文档的过程中,还可以这样思考: 他为什么要这么设计?换成我,我会怎么设计?然后有相当一部分,会转化成:哦,原来是这个样子的!这个时候你进步