工廠方法模式:定義乙個用於建立物件的介面,但是讓字類決定將那個類例項化,工廠方法模式讓乙個類的例項化延遲到其子類
product(抽象產品):它是定義產品的介面,是工廠方法模式所建立物件的超型別,也就是產品物件的公共父類
concreteproduct(具體產品):它實現了抽象產品介面,某種型別的具體產品由專門的具體工廠建立,具體工廠和具體產品之間一一對應
factory(抽象工廠):在抽象工廠類中宣告了工廠方法,用於返回乙個產品.抽象工廠是工廠方法模式的核心,所有建立物件的工廠類都必須實現該介面
concretefactory(具體工廠):他是抽象工廠類的子類,實現了在抽象工廠中宣告的工廠發發,並可由客戶端呼叫,返回乙個具體產品類的例項
public
inte***ce
logge***ctory
public
inte***ce
logger
public
class
databaselogge***ctory
implements
logge***ctory
}public
class
databaselogger
implements
logger
}public
class
client
}
優點:提供了專門的工廠方法來建立客戶所需要的產品,同時還向客戶隱藏了哪種具體產品類將被例項化這一細節;它能夠讓工廠自主確定建立何種產品物件,而如何建立這個物件的細節完全封裝在具體工廠內部;在系統中加入新產品時完全符合開閉原則,
缺點:系統中類的個數將成對增加,在一定程度上增加了系統的複雜度,會給系統帶來一些額外的開銷,增加了系統的抽象性和理解難度
設計模式 工廠模式之工廠方法模式
工廠方法模式是指定義乙個建立物件的介面,然後實現這個介面的工廠來決定建立什麼樣的例項。工廠方法讓類的例項推遲到子類中進行。在這個模式中,只關心需要建立的是什麼工廠,不需要關心建立的細節。而且新加入的產品符合開閉原則。1 建立支付介面,裡面定義抽象的支付方法。package com.gupao.vip...
設計模式之工廠方法模式
package com.csair.design.pattern 工廠方法,有抽象基類,每個子類生產乙個具體物件,與抽象工廠的關係是,抽象工廠生產多個產品 產品有某種內在聯絡 工廠方法只生產乙個物件 author ppt public class factorymethod public stati...
設計模式之工廠方法模式
在介紹工廠方法模式之前,先來介紹一下簡單工廠。什麼是簡單工廠?在類中,難免要例項化一些類,那麼我們把這些類的例項化抽離出來封裝成乙個工廠類,工廠類提供乙個公共的靜態或非靜態的方法來返回其他物件所需要的物件。這樣做的目的就是將物件的例項化與邏輯 分開,提高 的復用能力。這就是簡單工廠。public a...