工廠模式介紹

2021-10-21 03:54:40 字數 4122 閱讀 6102

二、工廠模式

三、抽象工廠模式

四、工廠模式小結

其他設計模式

簡單工廠模式是屬於建立型模式,是工廠模式的一種。簡單工廠模式是由乙個工廠物件決定建立出哪一種產品類的例項。簡單工廠模式是工廠模式家族中最簡單實用的模式。

簡單工廠模式:定義了乙個建立物件的類,由這個類來封裝例項化物件的行為。

在軟體開發中,當我們會用到大量的建立某種、某類或者某批物件時,就會使用到工廠模式。

(1)建立抽象類及其子類

public

abstract

class

machine

public

void

close()

public

void

setname

(string name)

}

public

class

foodmachine

extends

machine

@override

public

void

product()

}

public

class

clothesmachine

extends

machine

@override

public

void

product()

}

(2)建立工廠類

public

class

******factory

else

if(ordermachine.

equals

("clothes"))

return machine;

}}

(3)測試簡單工廠模式

工廠方法模式:定義了乙個建立物件的抽象方法,由子類決定要例項化的類。工廠方

法模式將物件的例項化推遲到子類。

(1)建立抽象類及其子類

public

abstract

class

machine

public

void

close()

public

void

setname

(string name)

}

public

class

flourmachine

extends

machine

@override

public

void

product()

}

public

class

breadmachine

extends

machine

@override

public

void

product()

}

public

class

manclothesmachine

extends

machine

@override

public

void

product()

}

public

class

femaleclothesmachine

extends

machine

@override

public

void

product()

}

(2)建立抽象工廠和抽象工廠子類

public

abstract

class

ordermachine

while

(true);

}private string gettype()

catch

(ioexception e)

}}

public

class

clothesorde***ctory

extends

ordermachine

else

if(ordertype.

equals

("female"))

return machine;

}}

public

class

foodorde***ctory

extends

ordermachine

else

if(ordertype.

equals

("flour"))

return machine;

}}

(3)建立測試類

抽象工廠模式可以將簡單工廠模式和工廠方法模式進行整合。

從設計層面看,抽象工廠模式就是對工廠模式的改進(或者稱為進一步的抽象)。

將工廠抽象成兩層,抽象工廠和具體實現的工廠子類。程式設計師可以根據建立物件型別使用對應的工廠子類。這樣將單個的簡單工廠類變成了工廠簇,更利於**的維護和擴充套件。

(1)工廠模式第一步中的抽象類及其子類不需要改變,新建抽象工廠和抽象工廠的實現類。

public

inte***ce

abstractfactory

public

class

clothesorde***ctory

implements

abstractfactory

else

if(ordertype.

equals

("female"))

return machine;

}}

public

class

foodorde***ctory

implements

abstractfactory

else

if(ordertype.

equals

("flour"))

return machine;

}}

public

class

ordermachine

private

void

setfactory

(abstractfactory abstractfactory)

while

(true);

}private string gettype()

catch

(ioexception e)

}}

(3)新建測試類

工廠模式介紹

工廠模式 實現了建立者和呼叫者的分離。詳細分類 a.簡單工廠模式 用來生生同一等級的結構中的任意產品 對於新增的產品,需要修改已有的 b.工廠方法模式 用來生產同一等級中的固定的產品 支援增加任意產品 c.抽象工廠模式 用來生產不同的產品族的全部產品。對於新增產品,無能為力,支援增加產品族 抽象工廠...

工廠模式介紹

通過工廠類,來建立物件,不再直接去建立物件使用 解耦 開發中你會實在地體會到解耦是件多麼重要的事,越複雜越tt 注 什麼是耦合性?public class actionservletcontroller 如果要修改物件userserviceimpl,那還要去actionservletcontroll...

factory pattern工廠模式介紹

所謂工廠是指可以生產物件的工廠,通過傳入指定的引數得到產品。比如定義了乙個汽水工廠 public class juicefactory catch return juice 通過傳入乙個汽水的類,便可以源源不斷地獲得美味的汽水了。汽水可以抽象為乙個介面,這樣不同種類的汽水只要實現了這個介面便可以直接...