設計模式 工廠模式

2021-10-10 07:54:42 字數 2130 閱讀 6520

簡單工廠模式

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

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

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

public

static pizza createpizza

(string ordertype)

else

if(ordertype.

equals

("cheese"))

else

if(ordertype.

equals

("pepper"))

pizza.

setname

(ordertype)

;return pizza;

}

工廠方法模式

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

public

class

pizzastore

else}}

public

abstract

class

orderpizza

while

(true);

}private string gettype()

catch

(ioexception e)

return str;}}

public

class

bjorderpizza

extends

orderpizza

else

if(ordertype.

equals

("pepper"))

return pizza;}}

public

class

ldorderpizza

extends

orderpizza

else

if(ordertype.

equals

("pepper"))

return pizza;

}}

抽象工廠模式

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

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

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

//乙個抽象工廠模式的抽象層(介面)

public

inte***ce

absfactory

//工廠子類

public

class

bjfactory

implements

absfactory

else

if(ordertype.

equals

("pepper"))

return pizza;}}

//工廠子類

public

class

ldfactory

implements

absfactory

else

if(ordertype.

equals

("pepper"))

return pizza;}}

public

class

orderpizza

while

(true);

}public

orderpizza

(absfactory absfactory)

private string gettype()

catch

(ioexception e)

return str;}}

public

class

pizzastore

}

設計模式 工廠模式 抽象工廠模式

建立物件時不會對客戶暴露建立邏輯,並且通過使用乙個共同的介面來指向建立的物件。sept1 建立乙個公共介面,將要對外開放的方法在這裡定義。sept2 建立實現介面的類,用即實現對外開放的類的方法 sept3 建立工廠,提供乙個get方法,這個方法提供返回實現類的物件 建立選擇 sept4 使用,建立...

設計模式 工廠設計模式

用於建立物件的介面,交給子類去實現 我們舉乙個生產nokia的例子 public abstract class nokiaphone先試定義了乙個抽象類,抽象出方法poweronphone 模擬手機開機的動作 public class nokia5200 extends nokiaphone pub...

設計模式 工廠設計模式

工廠模式分為工廠方法模式和抽象工廠模式 工廠方法模式分為 普通工廠模式,就是建立乙個工廠類,對實現了同一介面的一些類進行例項的建立。多個工廠方法模式,是對普通工廠方法模式的改進,在普通工廠方法模式中,如果傳遞的字串出錯,則不能正確建立物件,而多個工廠方法模式是提供多個工廠方法,分別建立物件。靜態工廠...