Factory Method(工廠模式)

2021-09-29 18:47:01 字數 1688 閱讀 1275

定義了乙個建立物件的介面,但由子類決定要例項化的類是哪乙個。工廠方法讓類把例項化推遲到子類。

將產品的」實現「從」使用「中解耦

1.當乙個類不知道它所必須建立的物件的類的時候

2.當乙個類希望由它的子類來指定它所建立的物件的時候

3.當想將建立物件的職責委託給多個幫助子類中的某乙個,並且希望將哪乙個幫助子類是**者這一資訊區域性化的時候

product定義產品介面

->concreteproduct實現product的介面,實現具體的產品

creator宣告factory method用於返回concreteproduct

->concretecreator實現creator中定義的factory method,返回乙個concreteproduct的例項

product

abstract

class

beverage

concreteproduct

public

class

teaextends

beverage

}public

class

coffee

extends

beverage

}

creator

abstract

class

beveragecreator

concretecreator

public

class

teacreator

extends

beveragecreator

}public

class

coffeecreator

extends

beveragecreator

}

demo

public

class

demo

}

result

a cup of tea

a cup of coffee

模式分類歸屬 ↩︎

意圖:描述該模式的作用,以及該模式的定義 ↩︎

動機:給出了問題以及如何解決這個問題的具體場景 ↩︎

適用性:描述模式可以被應用在什麼場合 ↩︎

結構:提供了圖示,顯示出參與此模式的類之間的關係 ↩︎

參與者:描述在此設計中所涉及到的類和物件在模式中的責任和角色 ↩︎

協作 :告訴參與者如何在此模式中合作 ↩︎

結果:描述採用此模式之後可能產生的效果,好的與不好的 ↩︎

實現:提供了在實現該模式時需要使用的技巧,以及應該小心面對的問題 ↩︎

範例**:提供**的片段 ↩︎

已知應用:用來描述已經在真實系統中發現的模式例子 ↩︎

相關模式:描述了此模式和其他模式之間的關係 ↩︎

工廠模式(Factory Method

意圖 工廠方法模式 factory method pattern 工廠方法模式又稱為 工廠模式 也叫虛擬構造器 virtual constructor 模式或者 多型模式 屬於類的建立型模式。在工廠方法模式中,父類負責定義建立物件 的公共介面,而子類則負責生成具體的物件,這樣做的目的是將類的例項化操...

工廠方法(Factory Method)

為建立的物件定義乙個抽象類,雖然該抽象類負責建立物件,但由它的實現類決定哪個類需要例項化。即不在由單個工廠類決定應該例項化哪個子類。工廠類會將這決定推遲到每個子類中完成。product page 定義乙個由工廠方法例項化的物件介面。concreteproduct skillspage,educati...

1 工廠模式(Factory Method

一 準備工作 1.建立乙個要生產物件的乙個介面 這類定義乙個水果fruit介面 以及定義乙個方法eat package com.yh.createrpattern.factory author yh project designpattern description 定義乙個水果介面 vesion ...