java設計模式 工廠模式一

2021-07-30 23:42:30 字數 1454 閱讀 9941

工廠方法模式所包含的成員:

(1)抽象產品(product):抽象類或者介面,用於定義具體產品必須實現的方法

(2)具體產品(concreteproduct):如果product是乙個抽象類,那麼具體產品是product的子類;如果product是乙個介面,那麼具體產品是實現該介面的類。

注:一般情況下,乙個抽象產品是乙個抽象類,而具體產品是派生出的眾多繼承該抽象產品類的不同子類

(3)構造者(creator):乙個介面或抽象類。構造者負責定義乙個被稱為工廠方法的抽象方法(該方法返回抽象產品的乙個物件引用——這一點也體現了構造者和抽象產品之間的關係:構造者依賴於抽象產品)

(4)具體構造者(concretecreator):如果構造者是抽象類,具體構造者類就是構造者類的眾多不同的子類;如果構造者是介面,具體構造者就是眾多實現該介面的不同子類。具體構造者重寫工廠方法,使該方法返回具體產品的例項。

工廠方法模式的示例**:

public

abstract

class

pencore

public

class

redpencore

extends

pencore

public

void

writeword(string neirong)

}public

class

blackpencore

extends

pencore

public

void

writeword(string neirong)

}public

abstract

class

pencorecreator

public

class

redcorecreator

extends

pencorecreator

}public

class

blackcorecreator

extends

pencorecreator

}public

class

ballpen

public

void

write(string s) //通過該方法呼叫具體產品的writeword方法

}public

class

test

}

關於工廠方法模式個人總結:

(1)一般情況下工廠方法模式中具體構造者與具體產品一一對應,乙個具體構造者生產乙個具體產品。

(2)工廠方法模式非常類似於現實生活中的生產模式:最上級下達乙個開始生產的命令,下級就開始按照自己的生產方法和目標生產不同的產品,供不同的使用者使用。

Java設計模式(一) 工廠模式

工廠模式,顧名思義就是像工廠一樣生產物件,我們知道一家生產筆的工廠,不僅僅只生產鉛筆,還有原子筆和鋼筆等型別。同理,我們採用工廠類來獲取各物件。以工廠生產筆為例,物件是筆,類penfactory是生產筆的工廠。建立所有筆的父類pen,有乙個通用的方法write 因為每一種筆寫的內容不容,方法的實現不...

java設計模式 工廠模式

工廠模式 存在的目的 定義乙個用於建立複雜類的物件的介面。使用工廠模式,降低了類與類之間的耦合關係。分為三種實現方式 類之間的繼承結構不同 簡單工廠模式 工廠方法模式 抽象工廠模式。主要涉及的三種類 呼叫工廠的類,工廠類,產品類。先看乙個不適用工廠模式的類組織 class bmw32 class b...

JAVA設計模式 工廠模式

一 簡單工廠。它的缺點很明顯,當需要再新增乙個whitehuman類時,需要在工廠類中修改,則 的耦合性很高。建立需要用工廠new的class public inte ce human public class blackhuman implements human public class yel...