Enterprise Library設計模式

2021-08-29 11:15:06 字數 1787 閱讀 5720

在軟體架構和開發中,模式是發生在給定的環境的確定問題的描述,和基於主導力( guiding forces )集合,提出乙個解決方案。解決方案通常是乙個簡單的機制,因為它是二個或我個類、物件、服務、程序、執行緒、元件或節點的組合,這些在一起工作以解決底層架構或開發挑戰。

模式是對於開發和架構而言是非常有用的,因為它們可以做下列事件:

enterprise library 應用程式塊使用了下列設計模式( 還有其他的):

工廠模式(factory )

這是一種建立型模式,使用了乙個特別的物件型別來建立其他物件。

外掛程式模式(plug-in)

此模式擴充套件類的行為,方法是允許擴充套件插入到乙個抽象類中,依次的,插入到乙個核心類。這建立了乙個新的子類,它僅包含了在特定環境中需要的功能。

依賴注入模式

使用這個模式,注入物件到乙個類中,替換依賴類來建立物件。

關於模式的更多資訊,請引數microsoft patterns & practices

和 patternshare community

web 站點。

工廠模式是一種建立型的設計模式(那就是,可以使用乙個抽象實體來建立另乙個)。enterprise library 應用程式塊大量的使用了工廠模式。例如,在快取應用程式塊中,cachefactory初始化cachemanager物件的例項。cachemanager建立乙個cachemanage***ctory物件,依次建立乙個cache物件。cache物件在後端儲存中保持了下資料的記憶體表示。在cache物件建立後,應用程式可以要求cachemanager物件獲取緩衝的資料,新增資料到快取,或從快取中刪除資料。更多資訊,請參見快取應用程式塊的設計。

資料訪問應用程式塊也以相似的方式使用工廠模式。客戶端**呼叫databasefactory類的靜態方法createdatabase方法建立databse物件的例項。更多資訊,請參見資料訪問應用程式塊的設計。

關於工廠模式和它在 .net 框架中的更多資訊,請參見msdn 中的 exploring the factory design pattern

。外掛程式模式是一種在執行時建立介面的物件例項的一種軟體設計模式。外掛程式模式擴充套件了已存在類的行為,所以它可以用於更多特殊的目的。它不用於使用類繼承,繼承的行為被修改或覆寫,或者配置行為的修改限制為定義配置選項的範圍。

使用外掛程式模式,修改的行為(外掛程式)連線到乙個部分抽象的類,依次的,連線到乙個核心類。外掛程式使用這個介面來實現由核心類呼叫的方法,也可以在核心類中呼叫新的方法。

依賴注入模式允許您注射乙個物件到乙個類中,代替依賴類來建立物件。這在從應用程式中解耦特定實現和部署的細節的場境中特別有用。依賴注入模式解耦了服務或其他應用程式可能依賴的**與應用程式本身和在包裝器中的包。接著,處理**的責任,包括物件建立和鏈結,都將從物件本身中刪除並轉化成另乙個實體。不像使用工廠模式,使用依賴注入模式,在包裝器中的**可以被多個應用程式共享。

system.componentmodel命名空間是乙個依賴注入模式的 microsoft 實現。在 enterprise library 中,objectbuilder實現了依賴注入模式。

關於依賴注入模式的更多資訊,請參見 inversion of control containers and the dependency injection pattern

。trackback:

Enterprise Library 服務問題

在使用enterprise library而沒有註冊服務的時候會出現這樣的問題,editing post failed to create instances of performance counter cache total turnover rate 請求的效能計數器不是自定義計數器,它必須初...

微軟Enterprise Library開源了

微軟已經改變了 enterprise library 4 源 的許可協議,以基於開源友好的 microsoft public license ms pl 許可協議發布。源 可以從 模式與實踐codeplex 社群 上得到。enterprise library 4.0有大量的 新功能和更新。這更寬鬆的...

分享Enterprise Library資料

patterns practices 企業程式庫是乙個設計為協助開發人員處理企業開發常見問題的應用程式塊的程式庫。應用程式塊是指導型別的,它提供可由開發人員 按原樣 使用 進行擴充套件或修改的源 以用於企業開發專案。企業程式庫包含以前作為獨立應用程式塊使用的應用程式塊的新版本和更新版本。所有企業程式...