生成模式使用情境
抽象工廠(Abstract Factory)
有共同的方法類型,但實作方式不同,得出來的結果也可能不同
e.g.
棒球打者每個人都需要打擊(共同的方法類型)
但每個人的打擊姿勢都不同(實作方式不同)
每個打擊者可能擅長打出滾地球或是高飛球(得出來的結果也可能不同)
生成器(Builder)
類似的產品,有類似的複雜的建造流程
e.g. 交通工具(汽車、機車)建造
麵食烹煮
工廠方法(Factory Method)
生產方式類似、少部分有些許的不同
e.g. 女生化妝(小花、蝴蝶結、腮紅)
原型(Prototype)
產生新物件成本過高時,直接複製先前生成的原型物件
簡單工廠(Simple Factory)
生產方式相同,無任何差異
e.g. 腳踏車與摩托車(都是兩輪)
單例(Singleton) - Anti-Pattern
確保只有單一個物件被建立