設計模式 簡單工廠模式及例項

2021-09-29 14:12:34 字數 1096 閱讀 1676

簡單工廠模式實質是給工廠類傳入乙個引數,然後工廠根據傳入的引數,動態的決定建立乙個產品類(當然這些類繼承自同乙個父類或介面)。

工廠負責動態的生產物件

抽象產品

工廠產生的物件的父類,或者說是工廠建立時返回的型別。

具體產品

工廠產生的目標,工廠根據傳入的引數,生產出的具體產品。

以印刷廠為例,印刷廠可以生產紙質的讀物,比如書、雜誌、報紙。

這裡的印刷廠就是工廠

紙質讀物是抽象產品

書、雜誌、報紙是具體產品

工廠(印刷廠)

//傳入引數介面

inte***ce produceinfo

class printery

}}

抽象產品(讀物)
abstract class readings 

}

具體產品
class book extends readings 

}class news***** extends readings

}class magazine extends readings

}

工廠類含有必要的判斷邏輯,可以決定在什麼時候建立哪乙個產品類的例項,客戶端可以免除直接建立產品物件的責任,而僅僅「消費」產品;簡單工廠模式通過這種做法實現了對責任的分割,它提供了專門的工廠類用於建立物件。

客戶端無須知道所建立的具體產品類的類名,只需要知道具體產品類所對應的引數即可,對於一些複雜的類名,通過簡單工廠模式可以減少使用者的記憶量。

通過引入配置檔案,可以在不修改任何客戶端**的情況下更換和增加新的具體產品類,在一定程度上提高了系統的靈活性。

個人理解:

簡單工廠模式有利於分割業務和介面。工廠模式下,需要增加產品時僅僅需要增加工廠生產抽象產品的子類以及生產的邏輯即可。連帶的,這樣也會帶來缺陷:

缺陷當工廠需要生產的產品較多時,邏輯複雜時,再要新增新的產品,修改起工廠生產邏輯就變得非常麻煩了。所以簡單工廠僅僅適用於那些產品較少邏輯不是特別複雜的情況。

設計模式 工廠模式 例項

軟體領域中的設計模式為開發人員提供了一種使用專家設計經驗的有效途徑。設計模式中運用了物件導向程式設計語言的重要特性 封裝 繼承 多型,真正領悟設計模式的精髓是可能乙個漫長的過程,需要大量實踐經驗的積累。最近看設計模式的書,對於每個模式,用c 寫了個小例子,加深一下理解。主要參考 大話設計模式 和 設...

設計模式 工廠模式(簡單工廠)

一 簡單工廠 定義 簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。特點 工廠類直接實現,乙個產品介面,乙個工廠類可以產生多...

簡單工廠模式例項

1.簡單工廠模式 問題 模擬借貸軟體計算分期金額過程 控制台提示使用者輸入要借款的金額,和分期 數 糾錯判斷 借款最低500元,分期只能輸入3 6 9期其中的乙個 根據使用者輸入的借款金額和分期數列印出使用者每期應該還款的總金額 ps 分期利率 3期 0.04 6期 0.05 9期 0.06 比如使...