設計模式之 工廠方法模式

2021-10-02 00:08:40 字數 1262 閱讀 2358

工廠方法模式(建立型):定義乙個建立產品物件的工廠介面,將產品物件的實際建立工作推遲到具體子工廠類當中。這滿足建立型模式中所要求的「建立與使用相分離」的特點。

1.抽象工廠:提供了建立產品的介面,每個具體工廠的父類介面。

2.具體工廠:抽象工廠的實現類,負責建立具體的產品。

3.抽象角色:需要定義產品的抽象,為工廠建立出來例項的公共介面。

4.具體產品:抽象角色的實現類,由工廠返回的具體產品例項。

某個客戶需要不同種類的交通工具,我們使用簡單工廠根據客戶需要去建立不同種類的交通工具,並且該客戶以後                可能還會拓展新的種類。

public inte***ce vehiclefactory
說明:交通工具工廠介面,抽象工廠角色,定義所有工廠的公共介面。

public class bicyclefactory implements vehiclefactory 

}

說明:自行車工廠類,具體工廠角色,用於建立自行車產品。

public class ca***ctory implements vehiclefactory 

}

說明:汽車工廠類,具體工廠角色,用於建立汽車產品。

public inte***ce vehicle
說明:交通工具介面定義類,抽象角色。

public class bicycle implements vehicle 

}

說明:交通工具類vehicle的實現類之一,具體產品,自行車產品。

public class car implements vehicle 

}

說明:交通工具類vehicle的實現類之一,具體產品,汽車產品。

public class factorymethodtest 

}

說明:測試以及客戶端類。

優:符合開閉原則,當需要新增產品時,新增具體工廠類和具體產品類即可。

缺:每次都需要建立多個類,增加系統開銷。當抽象類要修改時,則需要修改大量的具體子類,增大工作量。

1.適用於不知道具體種類且種類短時間還會繼續增加的物件的建立,可無限拓展(如奶茶店的奶茶種類,可能明天 * 又會推出新的奶茶)

注意事項:工廠方法模式是乙個工廠建立一種產品,每次有新種類的產品要新增時,必須建立新的工廠以及新的產品。

設計模式 工廠模式之工廠方法模式

工廠方法模式是指定義乙個建立物件的介面,然後實現這個介面的工廠來決定建立什麼樣的例項。工廠方法讓類的例項推遲到子類中進行。在這個模式中,只關心需要建立的是什麼工廠,不需要關心建立的細節。而且新加入的產品符合開閉原則。1 建立支付介面,裡面定義抽象的支付方法。package com.gupao.vip...

設計模式之工廠方法模式

package com.csair.design.pattern 工廠方法,有抽象基類,每個子類生產乙個具體物件,與抽象工廠的關係是,抽象工廠生產多個產品 產品有某種內在聯絡 工廠方法只生產乙個物件 author ppt public class factorymethod public stati...

設計模式之工廠方法模式

在介紹工廠方法模式之前,先來介紹一下簡單工廠。什麼是簡單工廠?在類中,難免要例項化一些類,那麼我們把這些類的例項化抽離出來封裝成乙個工廠類,工廠類提供乙個公共的靜態或非靜態的方法來返回其他物件所需要的物件。這樣做的目的就是將物件的例項化與邏輯 分開,提高 的復用能力。這就是簡單工廠。public a...