Factory 模式的優點

2021-04-28 04:46:31 字數 854 閱讀 1176

望文生義

對於建構函式來講, 其名字必須和所屬的類名一致. 這就往往失去了利用函式名傳遞更多資訊的機會. 比如說我們有乙個建立xml parser 類:

這個xmlconverter類有兩個建構函式, 第乙個建構函式建立乙個預設的xml converter.第二個建構函式可根據程式設計師的指定來建立乙個 xml conveter.為了使用這個類,我們必須先讀api文件,並且我們可能很難記住這兩個建構函式各自的用途. 我們下面看看如何使用factory解決這個問題:

這個新的xmlconverter類有著兩個get函式, 它們返回兩個xmlconverter型的object. 這就是典型的factory 模式. 這兩個get函式的名字清楚地告訴了我們它們各自的用途,我們不必查api文件就能明白它們的用途.請特別注意,兩個建構函式都被標明為pivate.

可控制在乙個jvm所能產生某型別object的個數

大家知道生成乙個資料庫的connection object 是乙個非常影響程式速度的操作,所以"連線池'(connection pooling)是乙個很常使用的技巧: 程式維持一定數量的connection object, 以便不斷的重用.這樣一來就大大減少了產生和銷毀connection object所需的時間.這就要求我們能夠控制最多可產生個connection object. 下面我們看看如和用factory 模式來解決這個問題:

上面這一小段程式展示了如何利用factory 模式保持50個connection object:當connection的數量小於指定數時,我們就不斷建立connection,直到50個connection object 被建立。 在這之後,我們就不斷的重用這些object。

Factory模式(工廠模式)

假設有如下的場景 賣pizza的,可以有很多種pizza cheesepizza,greekpizza,pepperonipizza 我們該如何處理它呢,當然我們可以宣告乙個類,類中建立每乙個種類的pizza。但是這樣有什麼問題嗎?我們沒有把需要改變的部分剝離出來。軟體設計的乙個原則就是 是易於擴充...

factory工廠模式

1.factory模式 兩個重要的功能 1 定義建立物件的介面,封裝了物件的建立 2 使得具體化類的工作延遲到了子類中。factory模式僅僅侷限於一類類 就是說product是一類,有乙個共同的基類 如果我們要為不同類的類提供 乙個物件建立的介面,那就要用abstractfactory了。我們經常...

設計模式 Factory

有一定程式設計經驗的xdjm對工廠方法模式肯定不會陌生了,曾經做過乙個遊戲大廳,那會的qt還沒有qml這個東東,為了能夠動態的載入頁面以及更加方便的除錯。每乙個window都是使用乙個xml去定義,裡面按照樹狀結構定義了各種型別的控制項。每個控制項都是widget的父類,window在載入介面時顯然...