上一篇已經介紹過的 Factory Pattern 可以將建立實例的程式碼抽取出來, 並可以提供絡不同的物件使用。Abstract Factory Pattern 其實和 Factory Pattern 很相似,但 Abstract Factory 比較偏向建立同一系統的物件。
同一系列的意思是彼此的物件有一定的關連,例如: 輪子、引擎、車架、方向盤、儀標板等等。 這些都是組成車子的組件,這些組件亦由可以由不同廠商去開發,Abstract Factory 扮演角色就是廠商。 更改廠商,就可以建立不同樣式的車子。
看看以下例子應該有助你明白這個模式: