在開源中國社區,簡單整理了下比較好的.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應用開發。html
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.五、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
另注:其餘開發語言(Java、PHP、Python、Ruby、Node.js、JavaScript等)通用開發框架見《Web框架開源軟件》git
暱稱: 程序員
退出 訂閱評論 web
[Ctrl+Enter快捷鍵提交] spring
【免費】從零開始學編程,開發者專屬實驗平臺免費實踐!
【推薦】如今註冊又拍雲,首月可享 200G CDN流量,還可免費申請 SSL 證書
【推薦】阿里雲「全民雲計算」優惠升級
· MIUI9真的是最快的Android系統?
· 英特爾第二財季淨利潤28億美圓 同比增加111%
· 美國國會初步放寬無人駕駛汽車限制 測試無人車總數或達10萬輛
· 谷歌悄悄拿下硅谷52個地產項目 爲公司擴張作準備
· 紛爭不斷的快遞江湖:數據金礦待開發、規模化仍不足
» 更多新聞...
· 程序員的工做、學習與績效
· 軟件開發爲何很難
· 唱吧DevOps的落地,微服務CI/CD的範本技術解讀
· 程序員,如何從平庸走向理想?