Design Pattern_Skill_4_簡單工廠模式(Simple Factory Pattern)
在軟體系統設計當中 創建型模式:主要是針對處理物件創建相關情況以某種方式控制物件實體化的設計模式 試圖就實際情況來切換較合適方法進行創建物件 主要核心思想是 將系統使用到的具體Class封裝起來 隱藏具體Class Object的建立與結合 創建型模式: (1)物件創建型模式:將物件實體化過程部分移至另一個物件中 (2)類別創建型模式:將其物件實體化過程移置子類中 在設計過程中時常會提到要對抽象(介面或抽象類)進行程式編碼設計 而不是對具體(實際物件)進行程式編碼設計 舉例要做一個比薩 就建立一個Pizza Class 做一個麵包則建立一個 Bread Class 一直透過new來實體化物件 這是典型的一個針對具體的設計 隨著時間流逝系統程式碼量倍增情況也影響到後期維護的複雜及工作量 不管後續要做捨麼都要創建新類別實在很麻煩 此時我們想到一種方法 有沒有可能我們設計一種Class是專門負責創建物件的 就好像一座工廠要做pizza或麵包 我們只要去調用該Factory class某一個方法透過傳指定參數來實作並回傳特定物件 此模式就是所謂的「簡單工廠設計模式」 ============================================================== 一家剛起步不久的Pizza店中的程式人員 負責幫忙開發pizza的系統 首先它知道pizza有如下工序 備料(準備起司絲、肉片)、 製作(稈麵團、加入蠔油)、 烘烤(統一30分鐘)、 完成(用紙箱裝盒外帶) 之後還有下訂單等業務 一開始推出口味有起司火腿、德國香腸、原味火腿口味的 所以他就直接寫了負責Pizza專屬工序的Class 對應三種不同口味的Class 還有負責訂單的Class 負責Pizza專屬工序的Class package OrignalApp ; /** * * @author chous */ public class Pizza { public void prepare (){ System . out . println ( "備料:準備起司絲、肉片" ); } public void make (){ ...