[大話設計模式] 重點筆記:抽象工廠模式 (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