.NET通用开发框架
在开源中国社区,简单整理了下比较好的.NET通用开发框架。一个好的通用框架大概包括:
开源、扩展性好、灵活性好、复用性好、维护性好、易测试、易发布、易部署、快速业务搭建(或业务集成)、通用性强、参考资料多、持续技术支持、社区疑难问题建设。
.NET通用开发框架 :
0.ASP.NET MVC
ASP.NET MVC,在现有的ASP.NET 3.5运行时的基础上提供了一个新的MVC框架。开发人员可以用MVC设计模式来构建Web应用,做到清晰的概念分离(UI或者视图与业务应用逻辑分离, 应用逻辑和后端数据分离),同时还可以使用测试驱动开发。ASP.NET MVC框架为Web应用的目录结构定义了一个专用的模式,还提供了一个controller基类,用来处理发动到“action”的请求。开发人员还可以 用上这个版本中所特有的Visual Studio 2008 MVC模板,利用模板所提供的单元测试结构来辅助Web应用开发。
1.Entity Framework
ADO.NET Entity Framework,是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案,早期被称为 ObjectSpace,现已经包含在 Visual Studio 2008 Service Pack 1 以及 .NET Framework 3.5 Service Pack 1 中发表。
2.Enterprise Library
Enterprise Library for .Net Framework 3.5 – EntLib v4.1,是patterns & practices 小组为.NET Framework 3.5 开发一套企业库,目前最新版本为v4.1,共包括9个Application Block,包括数据访问(Data Access Application Block)、异常管理(Exception Handling Application Block)、数据验证(Validation Application Block)等等,对企业应用开发非常有帮助,也非常实用。
3.NHibernate
NHibernate,是一个基于.Net 的针对关系型数据库的对象持久化类库。Nhibernate 来源于非常优秀的基于Java的Hibernate 关系型持久化工具。NHibernate 从数据库底层来持久化你的.Net 对象到关系型数据库。NHibernate 为你处理这些,远胜于你不得不写SQL去从数 据库存取对象。你的代码仅仅和对象关联,NHibernat 自动产生SQL语句,并确保对象提交到正确的表和字段中去。
4.SpringNet
Spring.NET,是一个关注于.NET企业应用开发的应用程序框架。它能够提供宽广范围的功能,例如依赖注入、面向方面编程(AOP)、数据访问抽象, 以及ASP.NET集成等。基于java的spring框架的核心概念和价值已被应用到.NET。Spring.Core 库是框架的基础, 提供依赖注入功能。Spring.NET中大多数类库依赖或扩展了Spring.Core的功能。
5.Bridge.NET
Bridge.NET,通过将 C# 转换成 JavaScript 来构建跨平台的移动应用、Web应用和桌面应用。通过 Visual Studio 插件,它为开发者提供了项目模版和编译器。它提供了对很多流行的 JavaScript 框架的支持,如 jQuery,Bootstrap,PhoneGap,AngularJS ……。只需在项目中安装对应的 NuGet Package,就可以引用相关的 JavaScript API。
6.Castle
Castle,是针对.NET平台下的一个非常优秀的开源项目,从数据访问框架 ORM到依赖注入容器,再到WEB层的MVC框架、AOP,基本包括了整个开发过程中的所有东西,为我们快速的构建企业级的应用程序提供了很好的服务。
7.CSLA.NET
CSLA .NET,是一个.NET软件开发框架,帮助开发者“为Windows、Web、面向服务和工作流等应用构建强大和可维护的业务逻辑层”。CSLA是Component-based, Scalable, Logical Architecture的简写,CSLA . NET是Rockford Lhotka基于.Net设计的一套N-tier分布式框架。
8.LLBL Gen
LLBLGen Pro,是LLBLGen的数据库访问解决方案,她包含两个部分:设计器(LLBLGen Pro designer)和运行时框架(LLBLGen Pro runtime framework)。支持多种数据库;设计器生成的源码除支持自身的运行时框架外,还支持另外三种数据库映射框架产品:EF 1.0和4.0、NHibernate 2.x、LINQ TO SQL;设计器的代码生成自动将各种表视图存储过程等对于的视图模型Entidy、接口Interface、操作类等完整生成;LLBLGen框架的使用可以基本使你完全脱离繁琐的数据存储及展现查询的各种操作过程,而专心于业务逻辑的开发。
9.NBear
NBear,是一个.Net 2.0下的快速开发框架。它提供了包括可视化实体设计、代码生成、持久化、SOA、MVP等一系列组件。 NBear的设计目标是尽最大可能减少程序员的重复劳动、提高开发效率、提升代码的可维护性和整体质量。
10.OpenWebFrame
OpenWebFrame,开源web统一开发框架提供二次web开发所需工具集及可以直接使用的开发包。产品开发采用开源与付费相结合的模式进行。开源WEB统一开发框架针对中等规模的交互式网站产品,主要包括底层分布式框架以及源代码管理、日志分析等工具集和可以直接使用的公共开发包如注册登录部分、权限管理部分、缓存区、配置节以及分页等前端表现。最主要的关注点是能够在此框架基础上方便、快捷地扩展服务性应用,同时核心部分的运行要求高质量、高安全、高效率.
11.Subsonic
SubSonic,是一个类似Rails的开源.NET项目。你可以把它看作是一把瑞士军刀,它可以用来构建Website和通过ORM方式来访问数据。
12.FuBuMVC
FubuMVC,是一个前端的控制器,等同于 MVC 模式中的 Controller ,基于 .NET 框架开发,可以再 ASP.NET 项目中使用。
13.ThinkWide
ThinkWide,是一个基于.Net 3.5、C#2.0的软件开发框架类库。ThinkWide的设计目标是尽最大努力减少开发人员的工作量,最大程度提升开发效率,同时兼顾性能及可伸缩性,是一种完整的软件应用解决方案涉及全面的软件技术包含数据访问,数据部署,业务层逻辑,以及配置层,界面表示层等。灵活的O/R映射,更加简洁的代码。
提供实体类生成工具,免除手写实体的工作量。动态实体类工厂,运行时动态对象及缓存实体类接口的实现类。支持多数据库源。基于容器的分布式服务工厂,透明的分布式服务调用和分发 可切换的分布式服务,支持WebService,Remoting,WCF数据队列,而无需修改任何代码
14.FastSprint.NET
FastSpring.NET,是一个集成了Spring.NET & NHibernate & Ajax 的WEB开发框架。是国内第一个支持Spring.NET、NHibernate 及Ajax的开源的Framework。
15.XCore
XCore,是一款.NET平台下的免费开源框架,XCore的设想是为广大码农提供一款上手快、使用简单、开发效率又高的框架,经过上百个项目实战的检验,已是一款非常适用于商业项目及创业团队的开发框架。特点:简洁易用、从实战出发、高度集成、类库丰富、零配置、低依赖、多数据库支持。
16.WebSharp
WebSharp,是国人开源的一款开源持久层框架,它的目标是设计一个基于.Net的通用的应用软件系统的框架,以简化基于.Net平台的企业应用软件的开发。Websharp关注于企业应用软件的以下几个方面:数据库访问、O/R映射、AOP、分布式访问。
17.Nancy
Nancy,是一个轻量级用于构建基于 HTTP 的 Web 服务,基于 .NET 和 Mono 平台。Nancy 设计用于处理 DELETE, GET, HEAD, OPTIONS, POST, PUT 和 PATCH 等请求方法,并提供简单优雅的 DSL 以返回响应。
18.WebADNuke
WebADNuke! (以下简称ADN),是基于Asp.Net平台、采用面向业务模块技术实现企业级B/S结构应用开发、运行、管理、监控、维护的中间件平台。它将.Net 体系规范、开源技术、跨数据库技术和面向业务开发技术的完美结合起来,为企业级Web应用系统的开发带来了卓越的价值。ADN 是Web2.0开源技术体系基于Asp.Net平台的完整实现, 是用于Web业务应用开发而生的.Net Web 2.0开源架构,支持多数据库且跨数据库特性,支持在线安装和Zip格式文件安装,支持系统级的无缝集成,Window桌面的操作风格,超凡的用户体验, 可伸缩性扩展应用,有效整合现有的系统,同时又能保护团队现有成果,规范化团队成员的开发。
19.Manos
Manos,是一个易用、易于测试、高性能的 .NET 的 Web 框架。
20.Jessica
Jessica,灵感来自 Ruby 的微型框架 Sinatra ,采用 C# 开发。
另注:其他开发语言(Java、PHP、Python、Ruby、Node.js、JavaScript等)通用开发框架见《Web框架开源软件》
.NET通用开发框架的更多相关文章
- ActionScript通用开发框架
ActionScript 3(简称as)自2006年诞生以来,出现了一大批很优秀框架.就我的知识领域,运用包括pureMVC.pushButton Engine(组件框架).Robotlegs.Ash ...
- C#.NET Winform 通用开发框架
C/S系统开发框架-企业版 V4.0 (Enterprise Edition) 简介: http://www.csframework.com/cs-framework-4.0.htm 视频下载: 百度 ...
- 一种小型后台管理系统通用开发框架中的Cache缓存设计
本篇博客记录一下我在实习的公司的后台管理系统开发框架中学习到的一种关于网站的缓存(Cache)的实现方法,我会在弄懂的基础上,将该方法在.net core上进行实现.因为公司开发都是基于.net fr ...
- Enterprise Solution 3.1 企业应用开发框架 .NET ERP/CRM/MIS 开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms
行业:基于数据库的制造行业管理软件,包含ERP.MRP.CRM.MIS.MES等企业管理软件 数据库平台:SQL Server 2005或以上 系统架构:C/S 开发技术 序号 领域 技术 1 数据库 ...
- 【开源】Ionic项目实例《Ionic中文社区》
介绍 这几天闲着没事,就做了个第三方的Ionic社区的移动客户端,练练手,界面设计和图片资源直接从官方版拿来的.真懒o(︶︿︶)o 唉 网站开放出来的接口,都已全部实现,大家可以下着试试看. 源码 h ...
- 【框架学习与探究之依赖注入--Autofac】
声明 本文欢迎转载,原文地址:http://www.cnblogs.com/DjlNet/p/7603642.html 序 同样的又是一个双11如期而至,淘宝/天猫实时数据显示,开场3分钟总交易额突破 ...
- 如莲开发平台(MIS基础框架、Java技术、B/S结构)
关于 「如莲」是一套MIS类系统基础框架,主要用于各类“管理信息系统”的开发,也适合做网站后台开发.可省去开发时的框架搭建.规范约定.权限管理等基础工作,直接专注于业务功能实现. 「如 ...
- Struts2、Spring、Hibernate 高效开发的最佳实践(转载)
Struts2.Spring.Hibernate 高效开发的最佳实践 Struts2.Spring.Hibernate(SSH)是最常用的 Java EE Web 组件层的开发技术搭配,网络中和许多 ...
- Hibernate 延迟加载 分析
出处:http://www.ibm.com/developerworks/cn/java/j-lo-hibernatelazy/#icomments Hibernate 的延迟加载(lazy load ...
随机推荐
- Android中Parcelable接口的使用
在做开发的过程中,序列化是非常常见的.比如要将对象保存本地磁盘或者在网络上传输等.实现序列化有两种方式,一种是实现Serializable接口,第二种是实现Parcelable. Serializab ...
- zz A list of open source C++ libraries
A list of open source C++ libraries < cpp | links http://en.cppreference.com/w/cpp/links/libs Th ...
- TargetProcess公司敏捷开发历程-开发实践篇
- LTE工作过程
LTE工作过程 一.LTE开机及工作过程如下图所示: 二.小区搜索及同步过程 整个小区搜索及同步过程的示意图及流程图如下: 1) UE开机,在可能存在LTE小区的几个中心频点上接收信号(PSS), ...
- 使用Ant编译提示Class not found: javac1.8
无论是使用Eclipse还是使用Ant命令,都可能会在编译时遇到提示:Class not found: javac1.8 今天用Ant打包Android,apk,运行出现了batch_build.xm ...
- [原]quick2.25精灵变灰
由于quick2.25没有导出shader相应的接口,所以2.25无法直接使用shader. 本文简单介绍如何导出相应接口,同时教大家使用shader 实现精灵变灰 一.编写静态函数,以供导出使用(直 ...
- ikvm.net简介
ikvm.net是什么 http://www.ikvm.net/ ikvm.net是能够运行在mono和.net framework的java虚拟机.它包括了 在.net中实现的一个java虚拟机 j ...
- WPF读写config配置文件
1. 在你的工程中,添加app.config文件.文件的内容默认为: 1 <?xml version="1.0" encoding="utf-8" ?&g ...
- java匿名类
一般情况下,我们需要声明一个类去继承一个接口,然后再new这个类,赋值给接口.但有时后这个类只会被调用一次,为了调用方便,那么就可以用匿名类来简化这个步骤. interface IKey{ void ...
- java数据库连接池性能对比
这个测试的目的是验证当前常用数据库连接池的性能. testcase Connection conn = dataSource.getConnection(); PreparedStatement st ...