簡單工廠(Simple Factory)也稱為靜態工廠,有人認為這屬於programming idiom,即程式設計慣例或風格。做法是設計一個class來負責創建其他多種class的instance,被創建的instance應繼承自相同的class,如此傳回值才會一致、也便於多型演算法的再利用。
這個設計方法有幾個角色:
- 工廠(Factory):即某一class,其功能在創建各種class的instance。
- 抽象產品(Product):即各種不同的class、產品的輸出藍圖,在java裏就是interface,在c++裏是abstract class。
- 具體產品(Concrete product):工廠所創建的實例,以product的藍圖實現出的物件。
這個好處是什麼?重覆的程式碼很少、相關物件的創建及客製化都在這個class完成,易於維護,也方便演算法使用新class而不必更改程式。
沒有留言:
張貼留言