1. 程式人生 > >Microsoft Enterprise Library 簡介與請大家下載Microsoft Enterprise Li

Microsoft Enterprise Library 簡介與請大家下載Microsoft Enterprise Li

解密 源碼 dll blank 更強 是不是 net開發 文檔化 特定

什麽是Enterprise Library
Enterprise Library是一組應用程序塊(Application Block)的集合。他們是可重用的軟件組件,被設計用來幫助開發者面對常用的企業級開發任務。用來解決我們在企業級開發中遇到常見問題,如配置管理、數據訪問、緩存管理、記錄操作日誌、異常管理、加密解密、權限管理等。它是對很多有影響力的軟件企業通過多年的開發實踐積累下來的技術的整合當。前的版本是2006年1月發布的,基於.NET framework 2.0。這個版本包含了大量的新特性而且性能有所增強。

使用Enterprise Library的好處

應用程序塊(Application Block)能幫助解決開發者在接連不斷的項目中所遇到的常見問題。它們封裝了微軟所推薦的基於.NET應用程序的最佳實踐。它們能被方便快捷的插入到基於.NET的應用程序當中。數據訪問應用程序塊提供對 ADO.NET 最常用功能的訪問,並通過易於使用的類將其公開。

Enterprise Library的用處

Enterprise Library是為那些需要開發復雜的企業級應用程序的開發者而打造的。這些應用系統通常被廣泛的部署,並且與其他系統相互關聯。另外,它們通常有嚴格的安全性、很好的擴展性還有良好的性能等需求。Enterprise Library的用途如下:

一致性。所有應用程序塊都註重設計模式、實現方法、配置機制、文檔、示例、部署和操作處理的一致性。

可擴展性。開發人員可通過在可擴展點“插入”自已的代碼或修改應用程序塊的源代碼,來自定義應用程序塊的行為。企業程序庫還包含幫助開發人員構建他們自己的與企業程序庫相集成的應用程序塊的指導。

易於使用。企業程序庫包括許多對早期版本的應用程序塊的可用性改進,其中包括一個配置工具 — 企業程序庫配置控制臺,這使得用這些塊進行評估、安裝、學習、配置和開發更加輕松。

集成。這些應用程序塊被設計和測試為可以很好地一起(或獨立)工作。

做一名程序員不容易。但這也是一件好事,否則這份工作很快就會變得無聊。每個項目都帶來了新的需求和新的技術挑戰,產品和平臺版本不斷演進。
  在開發過程中,除了令人興奮的事情,還有相當多這樣的感受:之前已經多次寫過完全相同的代碼。這是因為現實世界的需求往往需要開發人員在更高的抽象水平上寫出通用的代碼,基礎平臺並不能提供這樣的功能,這些代碼通常用於應用程序架構或企業在線交易應用程序中的跨業務特性。
  一遍一遍地編寫大致相同的代碼是很無聊的,同時效率低下,還會導致一致性問題和質量問題。為了解決這個問題,多年來,微軟模式與實踐小組編寫了可重用、可擴展、可配置的源代碼組件,稱為應用程序塊。我們從一個簡單的數據訪問幫助類開始,稱之為數據訪問應用程序塊,然後很快轉到其他方面,包括異常管理、日誌、身份驗證、緩存、脫機智能客戶支持。這些程序塊都被證明是行之有效的做法,它們設計用於滿足最常見的企業應用需求,而且用於滿足每一個組織或項目的特殊需求,這些程序塊可以自定義並可以擴展。
  .NET開發社區已經很好地接納了第一代應用程序塊,所以大多數人都認為模式與實踐小組開發的Enterprise Library(企業庫)開創了基於代碼的指導原則的新時代。企業庫包含的功能和以前發布的獨立程序塊很相似,但在內部程序塊之間取得了更強的一致性;易於擴展以支持新的需求;通過更簡單的API、文檔和實例,使用起來更方便;應用中常把程序塊集成起來使用。
  除了交付件自身的變化,企業庫另一個大的改進在於一個社區的形成——成千上萬的開發人員、測試人員和架構師以及模式與實踐小組通過我們的GotDotNet、博客、Webcasts和活動來共享問題、解決方案、經驗和擴展。通過經驗反饋和相互啟發,已經極大地提升了企業庫的價值,這是模式與實踐小組自身所不能企及的。

Microsoft Enterprise Library來源於MSDN patterns & practices,現在的版本是Microsoft Enterprise Library 5.0。它由一系列的.net項目和輔助工具構成,這些項目生成的DLL便是Enterprise Library的核心。這些類庫是微軟patterns & practices開發團隊通過長期的項目實踐、內部經驗和大量客戶反饋總結出的一系列設計模式的合集,目的是幫助開發人員方便地在項目中運用被業界廣泛認可的最佳實踐。

Enterprise Library是由許多Application Block組成的,每個Application Block都能實現一個特定領域的功能,比如數據庫訪問、日誌記錄、緩存管理、配置管理、加密、用戶認證和授權、異常捕捉,它們既可以單獨使用,也能夠互相協作。由於微軟提供了類庫的全部源碼,所以Enterprise Library具備很高的擴展性和靈活性。

使用Enterprise Library的典型步驟是:
1、為項目添加對所需使用的Application Block的引用(一個或多個DLL文件)。
2、通過Enterprise Library Configuration這個內置的輔助工具(我最喜歡的部分)對需要使用的Application Block進行配置。開發人員在可視化的環境下完成配置,工具會自動撰寫應用程序的配置文件App.config和各個Application Block的配置文件(一些.config文件)。
3、在代碼中調用這些Application Block以實現特定領域的功能。
4、配置項目的編譯後動作,將所有的.config文件復制到應用程序可執行文件所在的目錄。

微軟會指導你如何構建企業級的應用,以充分利用.NET的特性和功能。它以Prescriptive Architecture Guidance(PAG)文檔的形式提供幫助。PAG文檔詳述了架構師設計應用程序時應當考慮的不同層、組件和服務。把PAG看成是Lego積木箱裏的Sphinx。微軟也以.NET應用程序塊的形式提供了Lego塊。一個應用程序塊是實現組成應用程序的一個層上的一個組件或服務。
  那麽,有什麽問題?
  問題是沒有使用Lego塊創建應用程序塊的指令手冊或文檔化的流程。從哪一個塊開始?是不是要用到所有的塊?盒子裏是不是漏掉了什麽塊?如何把它們最好地組合在一起?
  本書就充當了這樣一個手冊,它指明如何用微軟提供的程序塊創建箱子上的圖畫。本書會幫助你在需要時重塑一些應用程序塊,並明白如何創建新的程序塊。它還介紹了微軟提供的幫助你把程序塊組織在一起的工具,以及圍繞面向業務的架構組合.NET應用程序塊的新的需求。
應用程序塊簡史
  重用軟件資產的好處已經被吹捧了好多年。今天,開發人員花費了大量的時間和精力來尋找他們需要的軟件或代碼庫以避免“重新發明車輪”。開發常常帶著“這可能以前有人做過”的想法在互聯網上查找代碼示例或可重用的軟件庫。有時能找到解決方案,有時不能。但是,即使能找到解決常見應用程序問題的軟件庫,使用它們也是一個挑戰。資源的設計和質量以及資源的未來方向都必須進行評估。資源所依賴的附屬物也要評估以決定使用它是否會導致企業偏離他們的戰略路線。
  微軟應用程序塊試圖通過提供一個大多數企業應用都需要的核心資產庫進行幫助。這始於2002年4月最初引入的數據訪問應用程序塊。這個程序塊之所以流行是因為它簡單易懂(它的接口非常簡單,沒有依賴關系),同時它涵蓋了大多數項目訪問微軟SQL Server數據庫所需要的常見操作。
  在接下來的幾年裏,又引入了更多的應用程序塊;但是,對它們的接納程度並不相同。總體來講,這些應用程序塊都可以被認為是成功的,但當有了越來越多的程序塊時,它們的使用就產生了問題。這些問題都圍繞著以下事項。
* 一致性。應用程序塊是微軟在幾年間由不同的團隊創建的,它們之間並沒有一致的原則。結果就是應用程序塊在方法和包裝上大不相同。如果使用一個新的應用程序塊,用戶發現很難理解。另外,因為程序塊的方法不一致,許多用戶發現很難在同一個項目讓它們協同工作。
* 配置。大多數應用程序塊依賴於復雜的配置,幾乎沒有工具支持或驗證來幫助正確地配置應用程序。配置應用程序塊必須手動創建並修改XML文件和測試運行時的結果。這是大多數最初的程序塊用戶面臨的普遍問題之一。
* 復雜性。數據訪問應用程序塊之後的許多應用程序塊都難於理解。但是,為了有效使用應用塊,開發人員需要通過理解如何配置、開發和擴展程序塊來快速磨合。缺少示例和指南來幫助開發人員快速掌握一個應用程序塊。另外,程序塊提供的文檔並沒有為大多數開發人員理解如何使用程序塊提供足夠的信息。
* 依賴關系。公司經常想用一個程序塊,但它們發現不想接納這個應用塊的依賴關系。一個應用程序塊經常與其他應用程序塊是緊密相關的。例如,許多程序塊都依賴於異常管理應用程序塊。但是,如果一個企業不想使用異常管理應用程序塊,那麽它要麽手動去掉依賴關系,要麽根本不用這個程序塊。同時,最初的日誌應用程序塊依賴於Enterprise Instrumentation Framework(EIF)。不想使用EIF的用戶也不能使用日誌程序塊。
  企業庫是應用程序塊的演進。它不是微軟的產品,因此你也不必為此付費。另外,企業庫的所有代碼都是公開的。這都與微軟的其他產品有很大不同。企業庫有7個應用程序塊——配置、數據訪問、緩存、異常處理、日誌和檢測、安全和加密,這個庫真正能夠應對企業應用中遇到的挑戰。它不是.NET框架的一部分,但它確實是為了填充.NET框架中的“空白”,直到這時這個框架才吸納了這些功能。
  企業庫的遠景是吸取最初的應用程序塊的教訓,不但要創建一套大多數企業應用所需要的最基本的應用程序塊,還要創建一個完整的生態系統。在這裏,微軟客戶、合作夥伴、團體成員和模式與實踐小組都能提供可重用的資源,根據企業的需要,這些資源可以合並到代碼庫中。企業庫背後的核心思想由四條原則定義,它們指導著企業庫中所有應用程序塊的開發。
* 一致性。每一個應用程序塊都應該采用一致的設計模式和實現方法。這樣,如果理解了一個程序塊,再理解和使用其他程序塊都會很容易,並能很快地提高生產率。
* 可擴展性。應用程序塊必須定義可擴展點,通過插入自己的代碼,開發人員可以自定義程序塊的行為。目標是預測擴展的需要,最小化自定義代碼時對核心元素的修改。通過設計可擴展的應用程序塊,應用程序塊能夠適用於不同的環境,有更多機會適應企業,如果不這樣設計,就很難達到目的。
* 易用性。對於開發人員,應用程序塊必須易用。因此,企業庫團隊提供了:
—企業庫配置工具。因為配置應用程序塊被證明最難使用,所以創建了圖形化的配置工具來改善這方面的體驗。配置工具可以使創建、修改、刪除和驗證所有企業庫自帶應用程序塊的配置信息變得很容易。這就不必手動修改XML文件讓應用程序塊正確工作。
—更簡單的安裝過程。建立一個開發環境來使用任一個應用程序塊都變得很容易。
—清楚的文檔和示例。每一個應用程序塊的文檔都包括如何使用應用程序塊的關鍵場景,並說明了如何執行最常用的任務。
* 完整性。應用程序塊應設計成能在一起工作,並通過測試保證能這樣做。但是,也應該有可能使用其中一個應用程序塊而不依賴於其他的程序塊。貫穿企業庫,應用程序塊的整合都是以松耦合的目標進行設計的。依賴於其他程序塊的應用程序塊完全可以用另外的資源替換掉,而不影響調用塊。
  最後,有重要的一點需要指出,企業庫意在以具體到代碼的方式提供架構指導。雖然它提供了全部源代碼,允許每個用戶修改它,但是在修改代碼前要小心,因為每個應用塊都有意在推行應對企業級應用常見的特定挑戰的最佳實踐。事實上,本書的許多章節都對應用程序塊的設計和微軟模式與實踐小組發布的指南進行了比較。對於許多應用程序塊,它們的實現就是遵循特定程序塊藍圖指南的直接結果。

Microsoft Enterprise Library 5.0是一套可重用的應用程序塊,幫助開發人員進行企業應用開發。新版本支持.NET Framework 4.0 。包括:Caching Block、Cryptography Block、Data Access Block、Exception Handling Block、Logging Block、Policy Injection Block、Security Block、Validation Block 和 Unity。

Enterprise Library的各個應用程序塊如下:

緩存應用程序塊(Caching Application Block)。此應用程序塊允許開發人員在其應用程序中集成本地緩存。

數據訪問應用程序塊(Data Access Application Block)。此應用程序塊允許開發人員在其應用程序中集成標準的數據庫功能。

加密應用程序塊(Cryptography Application Block)。此應用程序塊允許開發人員在其應用程序中包含加密和哈希功能。

異常處理應用程序塊(Exception Handling Application Block)。此應用程序塊允許開發人員和決策人員針對發生在企業應用程序體系結構層的異常處理創建一致的策略。

日誌應用程序塊(Logging Application Block)。此應用程序塊允許開發人員在其應用程序中集成標準的日誌功能。

安全應用程序塊(Security Application Block)。此應用程序塊允許開發人員在其應用程序中集成安全功能。應用程序可在多種情況下使用應用程序塊,例如,根據數據庫驗證和授權用戶、檢索角色和配置文件信息,以及緩存用戶配置文件信息等。

下載地址:

地址1:

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=bcb166f7-dd16-448b-a152-9845760d9b4c

http://msdn.microsoft.com/en-gb/library/cc467894.aspx

地址2:

http://entlib.codeplex.com/

再分享一下我老師大神的人工智能教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智能的隊伍中來!https://blog.csdn.net/jiangjunshow

Microsoft Enterprise Library 簡介與請大家下載Microsoft Enterprise Li