1.適應性系統
1)微核模式應用於必須能夠適應變更系統需求的軟體系統。這種模式把最小功能核心同擴充功能和特定客戶部分分離開來。微核也可作為插入到這些擴充中並協調其協作的通訊端。
2)映像模式為動態地改變軟體系統的結構和行為提供了一種機制。分成兩部分,一個元層次提供所選系統屬性的相關資訊並使軟體包含自述資訊。一個基本層次包括應用程式邏輯。它的實現建立在元層次之上。
2.微核模式
條件
1)在你的領域中的應用程式需要支援不同的但又相似的應用平台。
2)應用程式可以按類分組,每組以不同方式使用相同的功能核心,需要基於應用程式平台類比現有標準。
3)應用程式平台的功能核心應該分離出一個佔有最小的儲存空間的組件和消耗的處理能力僅儘可能地小的服務。
結構
1)內部伺服器(Internal servers)
2)外部伺服器(External servers)
3)適配器(Adapters)
4)客戶機(Clients)
5)微核(Microkenel)
5)微核
微核表示了該模式的主要組件。它實現了諸如通訊手段或資源處理那樣的主要服務,其他的組件全部或部分建立在這樣的基本服務之上。許多系統特定的附屬物被封裝在微核內。它也負責維護像進程或檔案那樣的系統資源。
1)內部伺服器
一個內部伺服器擴充了微核所提供的功能。它表示了提供的附加功能的一個獨立組件。微核通過服務要求調用內部伺服器的功能。
設計目標之一應該是使微核儘可能小以減少儲存需求。另一個目標是提供快速執行機制以減少服務執行時間。因此,額外和更複雜的服務由內部伺服器實現,必需時,微核會啟用或裝載它們,可以認為內部伺服器是微核的擴充。注意,內部伺服器只能由微核組件訪問。
2)外部伺服器
一個外部伺服器是使用微核實現以應用領域為基礎的它自己的視圖的一個組件。不同的外部伺服器為特定應用領域實現不同的策略。
外部伺服器通過像微核那樣的輸出介面來展現它的功能,它通過使用微核提供的通訊手段接收來自客戶機應用程式的服務要求,解釋這些請求,執行相應的服務,並把結果返回到它的客戶機。服務的實現依賴於微核機制。於是,外部伺服器需要訪問微核的編程介面。
3)適配器和 4)客戶機
一個客戶機是一個同外部伺服器精確相關 App程式,它只存取外部伺服器提供的編程介面。如果一個客戶機需要直接存取它的外部伺服器的介面,那麼每個客戶機不得不使用可用的通訊手段與外部伺服器相互作用。每個與外部伺服器的通訊都必須硬化編碼到客戶機代碼之中,將導致很多缺點:
a.這樣的系統不能很好地支援可變更性。
b.如果外部伺服器類比現存的應用平台,為這些平台開發的客戶機應用程式不加以修改將不能運行。
為避免直接依賴性,適配器代表了客戶機及其外部伺服器的介面,允許客戶機以一種可移植的方式訪問它們的外部伺服器的服務。一旦客戶機向外部伺服器請求一個服務時,適配器的任務是把調用提交給適當的伺服器。為了達到這個目的,適配器使用了微核提供的通訊服務。
微核模式優點
1)可移植性;
2)適應性和可擴充性;
3)策略與機制分離。
分布式微核
1)可擴充性;
2)可靠性;
3)透明性。
不足
1)效能;
2)設計和實現的複雜性。