java設計模式之簡單工廠模式

2021-08-04 09:10:13 字數 1247 閱讀 8444

簡單工廠模式是類的建立模式,又叫做靜態工廠方法(static factory method)模式。他是由乙個工廠類決定建立出哪一種產品類的例項。

該模式的主要思想就是建立乙個具體的工廠類(該類裡包含了所有建立產品的例項的邏輯),使用者只需通過傳入型別而由他來決定建立那種產品的例項。

舉個例子,假如現在需要匯出一種標準型別檔案,他有html格式和pdf格式,(1)首先自然的做法便是定義乙個匯出檔案的介面,源**如下:

package com.studyart;

//檔案格式的介面,所有格式繼承此介面完成各格式的具體邏輯

public inte***ce exportfile

(2)然後通過繼承此介面,實現

html格式和pdf格式的具體邏輯。

package com.studyart;

public class exportfinancialhtmlfile implements exportfile

}

package com.studyart;

public class exportfinancialpdffile implements exportfile

}

(3)建立乙個工廠類,

根據呼叫者不同的要求,建立出不同的匯出物件並返回。而如果碰到不合法的要求,會返回乙個runtime異常。

package com.studyart;

//定義一工廠類,用於建立各種格式的物件

public class exportstanda***ctory else if(type.equals("pdf"))else

}}

(4)測試類

package com.studyart;

public class test else

}}

簡單工廠模式就是這樣了。

從中可以看出所有建立物件的邏輯都放在了工廠類中,而這也限定了此模式不能處理複雜的邏輯,因為所有的業務邏輯都在這個工廠類中實現,此為牽一髮而動全身啊。拿此例來說,現在匯出的標準型別檔案只有兩種,可以用此模式,但如果現在又需要匯出其他型別的檔案,如財政型別的,他又有兩種格式,也是html格式和pdf格式等,如果用簡單工廠模式的話,工廠類至少需要四個if()else(),若多的話更不方便,此時用此模式就不方便了,工廠模式便可以派上用場了(下文繼續更新)

Java設計模式之簡單工廠模式

設計模式之簡單工廠舉例 l 簡單工廠模式概述 又叫靜態工廠方法模式,它定義乙個具體的工廠類負責建立一些類的例項 l 優點 客戶端不需要在負責物件的建立,從而明確了各個類的職責 l 缺點 這個靜態工廠類負責所有物件的建立,如果有新的物件增加,或者某些物件的建立方式不同,就需要不斷的修改工廠類,不利於後...

java設計模式之簡單工廠模式

簡單工廠模式是類的建模式,又叫做靜態工廠方法 static factory method 模式。簡單工廠模式是由乙個工廠物件決定建立出哪一種產品類的例項。看到這句話相信大家就能理解一點了,就是一些相似的類,通過乙個工廠類給提取出來,這樣再用的時候,可以通過傳入不同的引數,就能獲取相應的類的例項。舉乙...

java設計模式之簡單工廠模式

簡單工廠模式是由乙個工廠物件決定建立出哪一種產品類的例項,然後去呼叫不同的型別的方法的一種設計模式。通常用在多個不同型別的呼叫者,返回相同型別的結果的場景下。如根據不同的人返回不同的許可權等。如本例通過coder geek hacker三種不同的人訪問工廠來返回不同的結果。首先建立介面類,提供所有示...