區別
簡單工廠 : 用來生產同一等級結構中的任意產品。(不支援擴充增加產品)
工廠方法 :用來生產同一等級結構中的固定產品。(支援擴充增加產品)
抽象工廠 :用來生產不同產品族的全部產品。(不支援擴充增加產品;支援增加產品族)
6 注意事項
(1)工廠類常常採用單例模式(Singleton)。
(2)工廠類擁有基類(定義共同介面),基類可以為純虛類,也可以定義預設方法。
(3)對於工廠方法和抽象工廠,基類中的生產產品的函式常常為虛擬函式,以實現動態繫結。
(4)呼叫工廠方法的函式通常採用工廠實現的指標和引用作為形參,以便根據不同的工廠實參呼叫不同的工廠方法。