在軟件架構和開發中,模式是發生在給定的環境的確定問題的描述,和基於主導力( Guiding forces )集合,提出一個解決方案。解決方案通常是一個簡單的機制,因為它是二個或我個類、對象、服務、進程、線程、組件或節點的組合,這些在一起工作以解決底層架構或開發挑戰。
模式是對於開發和架構而言是非常有用的,因為它們可以做下列事件:
文檔化了簡單機制的工作。
為開發和架構提供通用的詞匯和分類。
允許解決方案簡明的描述為模式的聯合。
使架構、設計和實現決定可以重用。
Enterprise Library 應用程序塊使用了下列設計模式( 還有其他的):
這是一種創建型模式,使用了一個特別的對象類型來創建其他對象。
此模式擴展類的行為,方法是允許擴展插入到一個抽象類中,依次的,插入到一個核心類。這創建了一個新的子類,它僅包含了在特定環境中需要的功能。
使用這個模式,注入對象到一個類中,替換依賴類來創建對象。
關於模式的更多信息,請參數Microsoft patterns & practices 和 PatternShare Community Web 站點。
工廠模式是一種創建型的設計模式(那就是,可以使用一個抽象實體來創建另一個)。Enterprise Library 應用程序塊大量的使用了工廠模式。例如,在緩存應用程序塊中,CacheFactory
初始化 CacheManager
對象的實例。CacheManager
創建一個 CacheManagerFactory
對象,依次創建一個 Cache
對象。Cache
對象在後端存儲中保持了下數據的記憶體表示。在 Cache
對象創建後,應用程序可以要求 CacheManager
對象獲取緩沖的數據,添加數據到緩存,或從緩存中刪除數據。更多信息,請參見緩存應用程序塊的設計。
數據訪問應用程序塊也以相似的方式使用工廠模式。客戶端代碼調用 DatabaseFactory
類的靜態方法CreateDatabase
方法創建 Databse
對象的實例。更多信息,請參見數據訪問應用程序塊的設計。
關於工廠模式和它在 .Net 框架中的更多信息,請參見MSDN 中的 Exploring the Factory Design Pattern 。
插件模式是一種在運行時創建接口的對象實例的一種軟件設計模式。插件模式擴展了已存在類的行為,所以它可以用於更多特殊的目的。它不用於使用類繼承,繼承的行為被修改或覆寫,或者配置行為的修改限制為定義配置選項的范圍。
使用插件模式,修改的行為(插件)連接到一個部分抽象的類,依次的,連接到一個核心類。插件使用這個接口來實現由核心類調用的方法,也可以在核心類中調用新的方法。
依賴注入模式允許您注射一個對象到一個類中,代替依賴類來創建對象。這在從應用程序中解耦特定實現和部署的細節的場境中特別有用。依賴注入模式解耦了服務或其他應用程序可能依賴的代碼與應用程序本身和在包裝器中的包。接著,處理代碼的責任,包括對象創建和鏈接,都將從對象本身中刪除並轉化成另一個實體。不像使用工廠模式,使用依賴注入模式,在包裝器中的代碼可以被多個應用程序共享。
System.ComponentModel
命名空間是一個依賴注入模式的 Microsoft 實現。在 Enterprise Library 中,ObjectBuilder
實現了依賴注入模式。