型樣套用詳細資料

型樣套用範例包含 8 個型樣。其中許多型樣的名稱和功能類似業界公認的型樣。* 有些型樣在其他更精細的型樣中使用,稱為微型樣。

抽象 Factory 型樣

(五個參數、五個參數相依關係、重複使用一個型樣)

抽象 Factory 型樣以常見的抽象 Factory 型樣為基礎。 這個型樣重複使用介面型樣,在委派行為給介面型樣的過程中示範相依關係委派。 這是抽象 Factory 型樣的一種退化實作,因為所有具體成果會實作所有連結的抽象成果介面。 示範如何利用參數相依關係,確保型樣的語意不因他引數連結至型樣而遭到破壞。 就如同 Singleton 型樣以合作以外的其他事物來代表型樣實例一樣,這個型樣使用套件。 這個型樣的實例是套件。

委派型樣

(兩個參數、一個參數相依關係、重複使用三個型樣)

委派型樣有兩個參數:一個參數代表委派型樣中的委派者,另一個參數代表受委派者。 委派者將委派介面上定義的和由委派者實作的作業委派給委派類型的實例。 這個型樣示範以委派對映過濾器來自訂「關鍵字清單型樣重複使用實例」有關的關鍵字名稱。 有效實作委派型樣並不需要自訂名稱,出現在這個範例中是為了示範委派對映過濾器的用法。

直接關聯型樣

(六個參數、五個參數相依關係、一個微型樣)

直接關聯型樣是另一種獨立的基本型樣,由其他更精細的型樣所使用的微型樣。 直接關聯型樣有兩個主要參數,可設定直接關聯的環境定義。 另有五個次要參數,可配置關聯類型、角色名稱及對應關係來塑造關聯。 這個型樣由委派型樣範例重複使用,是一個包含許多罕見參數類型的型樣例子。 這個型樣的定義中使用文字字串、整數及型樣列舉。 當型樣作者學習編寫有類似參數類型的型樣時,這個範例中處理文字和列舉的型樣程式碼非常重要。

實作型樣

(兩個參數、一個參數相依關係、一個微型樣)

實作型樣是獨立的基本型樣,在實作中不使用其他型樣。 這個型樣非常簡單,可確保實作引數至介面引數之間存在 UML 實作關係。

介面型樣

(兩個參數、一個參數相依關係、重複使用一個型樣)

介面型樣是其他幾個型樣範例重複使用的型樣,且在實作中也重複使用另一種型樣。 實作型樣是非常基本的型樣(又稱為微型樣),由介面型樣用來確保實作引數已實作介面引數。 介面型樣有兩個參數,一個代表介面,另一個代表實作。 這個型樣有一個基本委派對映的範例,使用型樣定義用法和型樣相依關係委派。 這是一個非常基本但又實用的型樣,也會出現在型樣文件的其他部分。 這個型樣也展示以型樣委派和自訂程式碼的組合來實作型樣的相依關係更新方法。 請先重複使用實作型樣來確保實作關係,再以自訂更新方法來確保實作在介面引數上實作所有已定義的作業。

關鍵字清單型樣

(兩個參數、一個參數相依關係、一個微型樣)

關鍵字清單型樣是獨立的基本型樣,在實作中不使用其他型樣。 這個型樣也示範以 UML 文字字串做為參數類型,以抽象 UML Meta 類型做為參數類型。 這個型樣也可正確地確保引數中的型樣語法不受約束,且型樣實例未限定用途。 關鍵字清單型樣可獨自從「型樣瀏覽器」視圖中實例化,但最好由其他型樣經由型樣委派機制來重複使用。

Singleton 型樣

(無參數)

Singleton 型樣以常見的 Singleton 型樣為基礎。 這個型樣是一個無參數型樣的例子。有隱含的參數,可視為型樣實例本身。 這個型樣以類別來表示型樣實例,而不是以較常見的合作來表示。 這個型樣的一項用途是從「型樣瀏覽器」視圖拖曳至必須確保為 Singleton 的類別。 將這個型樣拖曳至圖型表面上(至套件內)會建立新的 Singleton 實例,也就建立新的類別來代表這個實例。

策略型樣

(三個參數、兩個參數相依關係、重複使用兩個型樣)

策略型樣以常見的策略型樣為基礎。 這個型樣重複使用關鍵字清單和介面型樣範例,且包含一個參數委派對映的範例。 有三個參數:一個代表策略介面,一個代表具體策略,另一個代表策略本身的環境定義。 為了示範如何重複使用關鍵字清單型樣,這個型樣會確定 <<Strategy>> 關鍵字出現在策略介面參數的引數上。 由於重複使用介面型樣,可確保具體策略參數的連結引數已實作策略介面。

* Design Patterns: Elements of Reusable Object-Oriented Software, Gamma, Helm, Johnson and Vlissides (Addison-Wesley, 1995) copyright (c) 1995 by Addison-Wesley Publishing Company, Inc. All rights reserved.

上層主題: 型樣套用

意見