切換
舊版
前往
大廳
主題

Factory Pattern - 工廠模式

默思 | 2017-04-07 23:26:08 | 巴幣 0 | 人氣 218

這次來記錄工廠模式(Factory Pattern),書上的定義是:定義一個建立物件的介面,但由次類別決定要實體化的類別為何。工廠模式讓類別把實體化的動作,交由次類別運行。

以我的例子為例,餃子店要賣餃子(Dumpling),目前有普通餃子與辣味餃子,首先我建立抽象類別Dumpling,並在裡面設置兩個abstract function,mix與shape,這裡個方法是要完成餃子的類別的必要程序,但是如普通餃子跟辣味餃子雖然都 有這兩樣程序,但是內部作法不太一樣,所以才會將mix和shape定義為abstract,由子類別來實作。

基本上上面就已經符合書本上字面上的定義了

接下來定義餃子店(DumplingStore)的抽象類別,假設有南北兩店,在DumplingStore中定義一abstract functon,createDumpling(String type),由這方法來決定要產生什麼餃子,而在其中我又用Decorator Pattern來裝飾我所生產的餃子,南北物價不同,北部比一般價多0.5元,而南部則是一般價,南北兩店都繼承DumplingStore,並覆寫createDumpling(String type),最後南北兩店所產生的餃子價格就會不一樣。

UML類別圖:


執行結果:


Github:點我

創作回應

更多創作