生成模式使用情境

抽象工廠(Abstract Factory)

有共同的方法類型,但實作方式不同,得出來的結果也可能不同

e.g.

棒球打者每個人都需要打擊(共同的方法類型)

但每個人的打擊姿勢都不同(實作方式不同)

每個打擊者可能擅長打出滾地球或是高飛球(得出來的結果也可能不同)

生成器(Builder)

類似的產品,有類似的複雜的建造流程

e.g. 交通工具(汽車、機車)建造

麵食烹煮

工廠方法(Factory Method)

生產方式類似、少部分有些許的不同

e.g. 女生化妝(小花、蝴蝶結、腮紅)

原型(Prototype)

產生新物件成本過高時,直接複製先前生成的原型物件

簡單工廠(Simple Factory)

生產方式相同,無任何差異

e.g. 腳踏車與摩托車(都是兩輪)

單例(Singleton) - Anti-Pattern

確保只有單一個物件被建立