NBear是一個基於.Net 2.0、C#2.0開放全部源代碼的的軟件開發框架類庫。NBear的設計目標是盡最大努力減少開發人員的工作量,最大程度提升開發效率,同時兼顧性能及可伸縮性。
開源協議:BSD。
名稱NBear的由來
N代表.Net,也代表No;Bear既可以翻譯成熊,也有忍受之意。
Bear雖然是那種看起來憨憨的樣子,但是攻擊時身手“敏捷”,因此.Net Bear代表了NBear是一個基於.Net2.0、為敏捷開發而生的快速開發框架。
我們大多數項目的開發需要Bear(忍受)太多的不必要的重復和繁瑣的配置。如數據持久化、對象池、Web開發中的URL重定向、輸入驗證、客戶端腳本等等,為了簡化許多常用組件充用,NBear為您提供了許多靈活的工具和組件;為了簡化繁瑣的配置(尤其是如nhibernate這類ORM組件的繁瑣的配置文件格式、高高的學習曲線和噩夢般的需求變更時的維護更新),NBear向您提供零配置需要的數據訪問(持久化)接口和可充用組件。
因此,NBear也代表No Bear,充分運用.Net2.0中的許多新技術Generic、Emit、HttpModule等,NBear讓我們一起不(No)再忍受(Bear)這種種繁瑣的束縛,大大提高我們的軟件開發效率、需求變更時的響應效率,您會注意到,在需要您敲打的代碼量(工作量)變得越來越少的同時,NBear也會帶給您許多優雅高效的開發體驗。
NBear適合用來開發什麼樣的程序?
NBear的核心包括一個泛型、強類型的的數據持久化接口、一組接口式的Entity定義組件、高性能XML/JSON序列化支持、服務工廠、分布式服務隊列和Web組件,因此:
1. NBear最適合開發各類基於ASP.NET 2.0,對性能要求較高的Web程序。JSON序列化和XML序列化的結合使用將可以使您的服務端和客戶端數據交互變得更簡單高效;NBear.Web組件提供了許多加速Web開發的組件,將使您基於標准 ASP.NET方式的開發效率大大提高;同時,簡單易用、性能突出的泛型持久化支持,則將使您能夠將更多注意力集中到業務開發,同時也不會有傳統ORM持久化框架的性能問題和繁瑣配置需要(NBear幾乎不需要配置,性能則可與DAAB相當)。
2. 高性能的XML和JSON序列化支持和靈活高效的持久化支持,也使得NBear能為開發各種類型的基於遠程數據交換(Web Service、Remoting等等)的分布式應用程序提供便利。
3. 內置的基於IoC容器和分布式服務隊列的服務工廠能夠使您的程序擁有良好的可伸縮性,可以完全透明的將一個普通構架的程序設置為一個分布式程序,甚至不需要修改消費端或服務實現段的任何代碼,基於服務工廠的系統天然就是SOA構架,這就使得您的系統可以以極小的成本和其他SOA構架進行整合。
4. 對於桌面應用程序,NBear同樣是一個幾乎沒有什麼學習曲線(多少人會為寫一個小小的日歷程序而仔細研究透徹Hibernate的參考手冊?)、實用高效的數據持久化方案。
功能列表
·O/R映射時無需配置文件,充分利用命名約定
·接口式實體類定義,簡單清晰,易於描述系統
·提供實體類生成工具,免除手寫實體的工作量
·動態實體類工廠,運行時動態Emit及緩存實體類接口的實現類
·高性能實體類XML及JSON序列化
·基於Provider模式的可擴展持久化數據庫源支持
·支持多數據庫源
·基於范型的強類型實體持久化及數據訪問接口
·基於容器的分布式服務工廠,透明的分布式服務調用和分發
·基於.Net Remoting的分布式服務隊列
·擴展ASP.NET MasterPage, Pae, UserControl基類
·基於用戶控件的AJAX支持
·URL重寫支持
·常用UI控件