定義:將抽象類別中建立物件的method,延至子類別進行實作。
使用時機:
使用時機:
- 類別無法確定生成的物件內容時。
- 抽象類別希望憑藉子類別生成物件時。
- 不希望將程式碼寫死在該類別,且希望憑藉子類別應對不同需求。
- 降低轉移平台成本: 如果我們將實作部份直接寫死,當遇見不可抗力,導致必須轉移平台時,為了避免code的邏輯浪費,就必須進行Ctrl+C、Ctrl + V,然而,若使用Factory Method,只需要實作Interface,即可在該平台使用,降低轉移的成本。
- 解決需求未知:當面對需求模糊不清,但確實需要此類別時,藉由此物件模式,將需求實作延遲,未來子類別實做出來即可。
若寫到interface,另外實作code負責new物件,如此一來,在不同平台時,無須複製大量code,只要根據interface實作出另一負責new物件的code,同時可以針對需求,產生不同code
沒有留言:
張貼留言