要套用的型樣詳細資料 |
這個範例是一組 8 個型樣。 許多這些型樣的名稱和功能都類似於業界接受的型樣。 * 這些型樣的一部分會供其他更高精度的型樣使用,它們稱為微型樣。 實作型樣(兩個參數,一個參數相依關係,一個微型樣) 實作型樣是一個基本型樣,它獨立自足,不在實作中使用任何其他型樣。 它是一個非常簡單的型樣,可確保能夠呈現從實作引數至介面引數的 UML 實作關係。 介面型樣(兩個參數,一個參數相依關係,重複使用一個型樣) 介面型樣是少數其他範例型樣會重複使用的型樣,它在實作中重複使用一個型樣。 實作型樣是非常基本的型樣(也稱為微型樣),供介面型樣用來確保實作引數會實作介面引數。 介面型樣有兩個參數,一個代表介面,一個代表實作。 它包括一個使用型樣定義用法和型樣相依關係委派的基本委派對映範例。 這是一個非常基本而能夠運作的型樣,型樣文件的其他部分也會提及它。 這個型樣也顯示結合型樣委派和自訂程式碼來實作型樣的相依關係更新方法。 實作型樣會重複使用來確保實作關係,之後,會利用自訂更新方法程式碼來確保實作會實作所有已定義的介面引數作業。 關鍵字清單型樣(兩個參數,一個參數相依關係,一個微型樣) 關鍵字清單型樣是一個基本型樣,它獨立自足,不在實作中使用任何其他型樣。 它也示範如何利用 UML 文字字串作為參數類型以及利用抽象 UML Meta 類型作為參數類型。 這個型樣也包括正確保證已取消連結作為引數的型樣語意且已取消套用型樣實例的功能。 關鍵字清單型樣可憑本身而從「型樣瀏覽器」視圖建立實例,但它比較適合供其他型樣利用型樣委派機制來重複使用。 導向關聯型樣(六個參數,五個參數相依關係,一個微型樣) 導向關聯型樣是另一個獨立自足的基本型樣,供精度較高的其他型樣使用的微型樣。 導向關聯型樣有兩個設定導向關聯環境定義的主要參數。 它有五個其他次要參數會配置關聯類型、角色名稱和對應關係來協助形成關聯。 這個型樣供範例委派型樣重複使用,是包括許多不常用參數類型之型樣的範例。 這個型樣的定義使用文字字串、整數和型樣列舉。 對型樣作者而言,當學習編寫有類似參數類型的型樣時,這個範例中用來處理這些文字和列舉的型樣程式碼非常有價值。 委派型樣(兩個參數,一個參數相依關係,重複使用三個型樣) 委派型樣有兩個參數:一個參數代表委派者,一個參數代表委派型樣中的所委派者。 委派者會將委派介面所定義、委派者所實作的作業委派給委派類型的實例。 這個型樣示範如何利用委派對映過濾器來自訂連結於關鍵字清單型樣重複使用實例的關鍵字名稱。 我們並不需要自訂這項名稱來提供委派型樣的有用實作,但這個範例加入了名稱的自訂來示範委派對映過濾器的用法。 策略型樣(三個參數,兩個參數相依關係,重複使用兩個型樣) 策略型樣以通用的策略型樣為基礎。 它會重複使用關鍵字清單和介面範例型樣,且包含參數委派對映的範例。 它有三個參數,一個代表策略介面,一個代表具體策略,一個代表策略本身的環境定義。 為了示範關鍵字清單型樣的重複使用,型樣會確保 <<Strategy>> 關鍵字會出現在策略介面參數的引數上。 介面型樣的重複使用,用來確保策略介面是由具體策略參數的連結引數所實作。 單態型樣(零個參數) 單態型樣以通用的單態型樣為基礎。 它是一個無參數型樣的範例。 它有一個可視為型樣實例本身的隱含參數。 這個型樣將它的型樣實例表現為類別,而不是表示為一般常見的協同作業表示法。 這個型樣的用途是從「型樣瀏覽器」視圖中,將它拖曳至必須確定是單態的類別。 將這個型樣拖曳至圖型版面(至套件中),會產生新的單態實例,因此,會建立代表這個實例的新類別。 抽象 Factory 型樣(五個參數,五個參數相依關係,重複使用一個型樣) 抽象 Factory 型樣以通用的抽象 Factory 型樣為基礎。 它會重複使用介面型樣,因此,會在將行為委派給介面型樣的過程中展示相依關係的委派。 它是抽象 Factory 型樣的退化實作,因為所有具體產品都會實作所有連結的抽象產品介面。 它是利用參數相依關係來維護型樣語意,以確保型樣已連結了其他引數的範例。 正如同單態型樣會使用協同作業以外的東西來代表型樣實例,這個型樣則會使用套件。 這個型樣的實例是套件。 * 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. |