[大話設計模式] 重點筆記:抽象工廠模式 (Abstract Factory)

  • 3748
  • 0
  • 2011-07-07

[大話設計模式] 重點筆記:抽象工廠模式 (Abstract Factory)

[Ch.15]

原文定義:

Provide an interface for creating families of related or dependent objects without specifying their concrete classes.

UML圖:p.220 或參考連結

重點筆記:

1.將工廠模式中的工廠進一步抽象化,在執行時期再建立對應的ConcreteFactory,這個ConcreteFactory再依序建立具特定實現的Product物件。
2.可將簡單工廠的方式應用在ConcreteFactory的生成過程來降低用戶端的耦合。
3.可再加上Reflection技術:Assembly.Load("AssemblyName").CreateInstance("Namespace.Class")來解除分支判斷帶來的耦合。
4.可再加入設定檔(*.config)來動態改變上述的字串值,不需改動類別及重編譯即可抽換不同的ConcreteFactory。

參考資源:

http://www.dofactory.com/Patterns/PatternAbstract.aspx
http://www.javaworld.com.tw/confluence/display/designpattern/Abstract+Factory
http://www.cnblogs.com/Terrylee/archive/2005/12/13/295965.html
http://www.cnblogs.com/wcp066/archive/2008/09/05/1284948.html