工廠模式(單工廠,多工廠)

2022-09-19 10:03:12 字數 1277 閱讀 2285

簡單來說,工廠模式就是用來例項化物件的,因為實際開發中,乙個類會有很多個屬性,如果在new的時候同時初始化,則**會顯得臃腫(比如,你現在要建立很多個不同的類,同時還要初始化,這些**全部堆在一起,就很難看),工廠模式則能解決這個問題,工廠模式中,將物件的建立和使用分開了

這幾個分類是我自己這麼分,我覺得比分成簡單工廠和抽象工廠更細緻,更易於理解

單工廠中通過if...else來控制建立哪種物件,將臃腫的初始化**封裝,在工廠類中建立,在其他地方使用時通過簡單的呼叫即可初始化

缺點:如果以後需要增加其他的類,工廠類中則會又加上乙個if,這不僅會使得工廠類越來越臃腫,而且還改動了以前的**,可能會出錯,因此單工廠不適用於要建立很多物件的情況

//

首先需要乙個介面

public

inte***ce

language

//

建立幾個需要例項化的類

public

class chinese implements

language

}

public

class english implements

language

}

public

class

factory

else

if (kind == "english")

else

}//測試一下

public

static

void

main(string args)

}

多工廠是對單工廠的進一步優化,因為單工廠裡面又很多的if語句,導致單工廠類非常的臃腫,所以可以寫乙個工廠介面,這個介面可以被很多任務廠類實現,每乙個工廠類都有唯一的實體類與之對應

缺點:雖然優化了單工廠,但是多工廠的類是成對增加的,也會造成一定的開銷

public

inte***ce

factory

}

public

class chinesefactory implements

factory

}

其實抽象工廠和介面工廠差不多,主要區別就是介面多工廠使用的是介面,而抽象工廠使用的是抽象類,抽象工廠中可以包含方法的具體實現,介面中則全部都是抽象的,二者的區別可參照抽象類和介面的區別

單例模式 工廠模式

單例模式 一 什麼是單例模式 有時候我們會遇到這樣一種情況,乙個類只能有乙個物件被例項化,這時我們就可以使用單例模式了。單例模式通過類本身來管理其唯一例項。在設計這個類的時候,讓他只能建立乙個例項並提供對此例項的全域性訪問。因此單例模式有兩個最基本的條件是,確保乙個類只有乙個例項被建立,提供乙個對例...

工廠模式 單例模式

一.單例模式介紹 單例類只能有乙個例項。單例類必須自己建立自己的唯一例項。單例類必須給所有其他物件提供這一例項。二.單例模式分為 4 雙重檢驗 這是最優的執行緒安全 即使用於單執行緒又適用於多執行緒 第乙個進來的時候,判斷為空,然後加鎖,繼續判斷為空,如果開闢了空間之後,還沒有去賦值,這時候有其他執...

單例模式 工廠模式

單例 package com.enorth.user public class singleton public static singleton getinstance return singleton 簡單工廠 產品介面 public inte ce product 具體產品a public c...