簡單工廠模式(靜態工廠模式)

1.定義一個工廠類,它可以根據參數的不同返回不同類的實例,被創建的實例通常都具有共同的父類。因爲在簡單工廠模式中用於創建實例的方法是靜態方法,因此簡單工廠模式又被稱爲靜態工廠方法模式,它屬於類創建型模型。
2.簡單工廠模式包括:
2.1.Factory(工廠角色):工廠角色即工廠類,他是簡單工廠模式的核心,負責實現創建所有產品實例的內部邏輯;工廠類可以被外界直接調用,創建所需的產品對象;在工廠類中提供了靜態工廠方法factoryMethod(),它返回類型爲抽象產品類型Product。
2.2.Product(抽象產品角色):他是工廠類所創建的所有對象的父類,封裝了各種產品對象的共有方法,它的引入將提高系統靈活性,使得在工廠類中只需定義一個通用的工廠方法,因爲所創建的具體產品對象都是其子類對象。
2.3.ConcreteProduct(具體產品角色):他是簡單工廠模式的創建目標,所有被創建的對象都充當這個角色的某個具體類的實例。每一個具體產品角色都繼承了抽象產品角色,需要實現在抽象產品中申明的抽象方法。
3.在簡單工廠模式中,客戶端用過工廠類來創建一個產品實例,而無須直接使用new關鍵字來創建對象,他是工廠模式家族中最簡單的一員。
4.創建具體對象時,每更換一個具體對象時,都要更換客戶端的調用靜態工廠方法的參數,客戶端代碼要重新編譯,這對於客戶端而言違反了“開閉原則”,常用的解決方式有:將調用靜態工廠方法的參數作爲配置項,那麼每次只需修改配置文件就可以達到獲取不同類型的實例。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章