工廠(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...