設計模式 工程模式

2021-10-03 20:49:58 字數 3165 閱讀 1961

工廠(factory)處理建立物件的細節。

沒有使用工廠模式時的實現過程如何:

public

class

test1

}// 將pizza類做成抽象

abstract

class

pizza

public

void

cut(

)public

void

box(

)public

void

setname

(string name)

}class

apizza

extends

pizza

}class

bpizza

extends

pizza

}// 訂購pizza

class

orderpizza

else

if(pizzatype.

equals

("bpizza"))

// 輸出pizza

pizza.

prepare()

; pizza.

bake()

; pizza.

cut();

pizza.

box();

}}

存在的問題:

當建立乙個新的pizza時需要修改多處**

// 靜態建立

public

class

test1

}// 將pizza類做成抽象

abstract

class

pizza

public

void

cut(

)public

void

box(

)public

void

setname

(string name)

}class

apizza

extends

pizza

}class

bpizza

extends

pizza

}class

******factory

else

if(pizzatype.

equals

("bpizza"))

return pizza;

}//簡單工廠模式 也叫 靜態工廠模式

public

static pizza createpizza2

(string pizzatype)

else

if(pizzatype.

equals

("bpizza"))

return pizza;}}

// 訂單類

class

orderpizza

else

}}

public

class

test1

}// 將pizza類做成抽象

abstract

class

pizza

public

void

cut(

)public

void

box(

)public

void

setname

(string name)

}class

apizza

extends

pizza

}class

bpizza

extends

pizza

}// 訂單類

abstract

class

orderpizza

}class

hubeiorderpizza

extends

orderpizza

else

if(pizzatype.

equals

("bpizza"))

return pizza;}}

class

beijinorderpizza

extends

orderpizza

else

if(pizzatype.

equals

("bpizza"))

return pizza;

}}

public

class

test1

}// 將pizza類做成抽象

abstract

class

pizza

public

void

cut(

)public

void

box(

)public

void

setname

(string name)

}class

apizza

extends

pizza

}class

bpizza

extends

pizza

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

inte***ce

absfactory

// 訂單類

class

orderpizza

public

void

setfactory

(absfactory factory)

}class

hubeiorderpizza

implements

absfactory

else

if(pizzatype.

equals

("bpizza"))

return pizza;}}

class

beijinorderpizza

implements

absfactory

else

if(pizzatype.

equals

("bpizza"))

return pizza;

}}

設計模式之簡單工程模式

如果想要增加乙個運算型別的話,就應該相應的增加這個從運算類繼承而來的運算的類。並且在類廠中的switch中增加相應的判斷。這就相當於工廠要生產新產品就要引進裝置 簡單工廠模式雖然比起面向過程程式設計來說更加體現出物件導向的思想,使得各部分更加模組化,符合物件導向4大原則 可維護,可復用,可擴充套件,...

設計模式(六)抽象工程模式

概念 抽象工廠模式是工廠方法模式的公升級版本,在有多個業務品種 業務分類時,通過抽象工廠模式產生需要的物件是一種非常好的解決方式。適用於多個細分的部分組成的乙個產品的製造工廠。例子 乙個世界級的足球俱樂部,需要偉大的球衣,雄厚的資金,優質的球場草皮 抽象乙個足球隊的工廠介面,footballteam...

java設計模式 簡單工程模式

概念 就是建立乙個工廠類,對實現了同一介面的一些類進行例項的建立。簡單工廠模式的實質是由乙個工廠類根據傳入的引數,動態決定應該建立哪乙個產品類 這些產品類繼承自乙個父類或介面 的例項。inte ce human class manimplements human class woman implem...