l

2017年8月18日 星期五

《設計模式的逆襲》第N度復活:Factory Method

August 18 13:48~14:00

螢幕截圖 2017-08-18 13.49.51


打個廣告先,第十七梯次「Design Patterns這樣學就會了:入門實作班」招生中,上課日為9月16、17、23(六、日、六)。課程提供Java與C#程式範例。

***

Factory Method(工廠方法)是一個很常用也很簡單的設計模式,不過因為它有幾種變形,每個人對於這些變形的稱呼又不一定相同,所以還是經常會造成溝通上的誤會。

Teddy參考《Pattern-Oriented Software Architecture Volume 4: A Pattern Language for Distributed Computing》書中的分類,把Factory Method分成三種:

  • Simple Factory Method:一個封裝產生具體類別過程的函數,又稱為Simple Factory。
  • Polymorphic Factory Method:GOF書中的Factory Method模式屬於這種類型,在父類別中定義產生物件的介面,讓子類別覆寫此介面以決定產生哪種具體類別。
  • Class Factory Method:又稱為Static Factory,類別靜態函數,用來產生自己或其他型別的實例。

但實際上有許多人將Simple Factory Method和Class Factory Method視為同一類,都稱為Simple Factory,也有人乾脆不分,直接統稱Factory模式。鄉民們在閱讀其他資料的時候請注意用詞不同的差異。

這次花了2.5天生產出Factory Method模式,檔案在此請安心服用。

一併提供之前完成的四個模式:

***

友藏內心獨白:看似簡單還是有一點小門道。

沒有留言:

張貼留言