java工廠方法模式

2021-08-19 15:26:24 字數 1443 閱讀 7294

在看下面講解之前,最好還是先看下筆者的簡單工廠模式,因為我的例子,是有聯絡的;目錄

工廠介面:

/**

* 工廠介面,抽象出工廠具體的公有方法

*/inte***ce factory

工廠實現類:

/**

* 工廠實現類

*/class pianofactory implements factory

}class motorcyclefactory implements factory

}

測試類:

@test

public

void

test()

後期新增新的類(浴缸):

/**

* 浴缸類

*/class bathtub implements produce

}

浴缸工廠類:

class bathtubfactory implements factory

}

測試:

//  對於後期新增的浴缸,客戶端不需要改動現有的**

簡單工廠模式相比,工廠方法模式,更抽象一點,它把工廠也抽象出乙個介面來它讓乙個工廠只負責生產一種產品;

簡單工廠模式的優點,繼續保持,還克服了簡單工廠模式的缺點 ;

當有新的產品需要新增進框架裡面的時候,我們是不需要去改動現有的**的;只需要寫出對應的產品類工廠實現類;然後在api裡面寫上新增的產品即可 ;原有的**是一行都不需要改動的 ;api的設計者,新增新的產品的時候,設計者自己就蛋疼的很了,每一新增乙個產品,他就需要對應的寫乙個工廠類,導致**量劇增;

客戶端在使用的時候,每次使用乙個產品類的時候,都需要呼叫對應的工廠類,無形之中增加了系統的負擔 ;

要克服上面的缺點,就需要使用抽象工廠模式了 ;

工廠方法模式 工廠方法模式

工廠方法模式是簡單工廠模式的公升級版,簡單工廠模式不符合設計模式的原則 即 單一職責,開閉原則 優點 職責明確,擴充套件方便 缺點 需要建立多個工廠 實現步驟 1.將工廠通用方法抽取介面 例如 ifactory 2.將產品抽取介面 例如 icar 3.實現各種產品 例如 baomacar,benti...

Java設計模式 工廠方法

定義乙個用於建立物件的介面,factory method將乙個類的例項化延遲到了子類。工廠方法模式的功能 工廠方法的主要功能是讓父類在不知道具體實現的情況下,完成自身的功能呼叫,而具體的實現延遲到子類來實現。實現成抽象類 工廠方法的實現中,通常父類會是乙個抽象類,裡面包含建立所需物件的抽象方法,這些...

Java設計模式 工廠方法模式

定義乙個用於建立物件的介面,讓子類決定將哪乙個類例項化。factory method 使乙個類的例項化延遲到其子類。package car inte ce public inte ce icar inte ce package car imple import car inte ce.icar in...