建立型模式是用來建立物件的,其中包含設計模式前奏說的共5個設計模式。簡單工廠模式不屬於23種設計模式,也不屬於5種建立型模式,但它是建立型模式的基礎,所以以建立型模式前奏為題說一下。
工廠模式我們經常見到,不管是資料庫連線工廠還是伺服器連線工廠或者其他,顧名思義,都是用來提供產品的。
簡單工廠模式很容易理解,事物都是由簡單一步步演化複雜的,就是我們程式設計最初始思想,就可以水到渠成寫出簡單工廠模式。
簡單工廠模式uml類圖如圖所示:
手殘黨上邊兩條線表示繼承關係,下面兩條線表示依賴關係。
例項**如下:
抽象產品類
具體產品apublic abstract class product
//定義抽象方法
public abstract void diffmethod();
}
具體產品b:public class producta extends product
}
工廠類public class productb extends product
}
說明:簡單工廠模式建立例項的方法通常是靜態方法,因此又被稱為靜態工廠模式,它是一種類建立模式。main類public class factory else if("b".equalsignorecase(productdesc))
return null;
}}
其中readproperties是乙個輔助類,用來讀取info.properties配置檔案中關於產品的配置資訊,根據該配置資訊生產產品。public class main
}
readproperties如下:
簡單工廠模式說明:public class readproperties catch (ioexception e)
} /****
* 按照鍵值讀取配置檔案屬性
* @param key
* @return
*/public static string readproperties(string key)
}
簡單工廠方法模式思想很好理解,就是建乙個工廠類,提供乙個靜態工廠方法,根據引數返回不同的具體產品。如果要修改產品,無需修改源**,修改配置檔案即可。
但簡單工廠模式也有缺點;
工廠類職責過重,工廠類出問題,全玩兒完。
如有錯誤,歡迎指正
end
建立型模式之簡單工廠模式
複習用,不適合初學。複習用,不適合初學。複習用,不適合初學。1.定義 factory pattern 簡單工廠模式又稱為靜態 static 工廠模式。在簡單工廠模式中,可以根據引數的不同返回不同類的例項。簡單工廠模式專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。2.角色 f...
建立型模式之簡單工廠模式
寫在前面 閱讀本文之前你需要知道 1.連線基本的uml類圖結構 2.類關係 簡單工廠模式並不屬於gof的23個經典模式,但通常把它作為學習其他工廠模式的基礎,它的設計思想比較簡單 首先將需要建立的各種不同物件的相關 封裝到不同的類中,這些類稱為具體產品類,而將它們公共的 進行抽象和提取後封裝到乙個抽...
建立型模式 簡單工廠模式
在物件導向程式設計中,一般方法是用乙個new操作符產生乙個物件的例項。但是在一些情況下,用new操作符直接生成物件會帶來一些問題。首先,要使用new運算子建立乙個物件必須清楚所要建立的物件的類資訊,包括類名 建構函式等,而有時並不現實。其次許多態別的物件建立需要一系列的步驟,可能需要計算或取得物件的...