程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 如何選擇一個模式

如何選擇一個模式

編輯:Delphi

考慮模式如何解決設計問題:如上節所述。

檢視模式的目的(intent):模式欲解決的問題或提供的功能;每個模式說明中的目的(intent)。

研究模式間的關聯性:利用模式關聯圖或每個模式說明中的相關(Related)模式。

研究模式間的用途:研究每個模式的內容詳細說明。

檢驗是否導致重新設計:以上述【設計容易改變的系統(Designing for Change)】以避免重新設計(redesign)。《注:容易修改的系統可避免重新設計》

考慮你系統何者是可改變的:向對前項考慮何者會導致你改變設計;此項考慮如何能修改系統而無需重新設計,重點是「封裝那些會改變的觀念(encapsulating the concept that varIEs)」。如下表:【Table1.2 Design ASPect that 模式 let you vary】

如何使用一個模式

1. 閱讀這個模式的整體概觀;尤其是適用性(applicability)及結論(consequences)這兩個小節,以確認此模式適合你的問題。

2. 回頭研究其結構(structure)、參與者(participants)及合作者(collaborations)三小節;以了解此模式中的類及對象及其關聯。

3. 研讀范例程序代碼(sample code)之范例;可協助你學習如何實現此模式。

4. 選擇針對應用系統背景有意義的模式參與者(participants)名稱;可以讓此模式更精確使用在應用系統中。命名方式是結合參與者的名稱及應用系統中所使用的名稱。

5. 定義類;宣告其界面;建立其繼承關系;定義表達數據及對象參考的實例變量,確認現存類中與此模式有關的類並相對的修改它。

6. 為此應用系統使用之模式的操作定義名稱;此操作的名稱系依賴此應用系統來命名;利用其責任及合作復合作為依據。

7. 實現這些操作來達成其在模式中的責任及合作關系,在實現(implementation)小節內提供相關的指引;同時例程序代碼(sample code)中的程序代碼也可協助你。

【Table1.2 Design ASPect that Design Patterns let you vary】

用途

模式

可改變的觀點(ASPect that can Vary)

構建(creational)

抽象工廠

(Abstract Factory)

可產生對象的群組(FamilIEs)

建設者(Builder)

如何建立一個復合對象

工廠方法

(Factory Method)

已建立對象實例的子類(subclass of object that is instantiated)

原型(Prototype)

已建立對象實例的類(class of object that is instantiated)

唯一(Singleton)

一個類的唯一對象實例

結構(structural)

適配器(Adapter)

對象的接口(interface to an object)

橋接(Bridge)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved