簡單工廠模式相當(dāng)于是一個(gè)工廠中有各種產(chǎn)品,創(chuàng)建在一個(gè)類中,客戶無需知道具體產(chǎn)品的名稱,只需要知道產(chǎn)品類所對(duì)應(yīng)的參數(shù)即可。但是工廠的職責(zé)過重,而且當(dāng)類型過多時(shí)不利于系統(tǒng)的擴(kuò)展維護(hù)。
代碼演示:
1. 創(chuàng)建工廠
2. 創(chuàng)建工廠的產(chǎn)品(寶馬)
3. 創(chuàng)建工另外一種產(chǎn)品(奧迪)
4. 創(chuàng)建核心工廠類,由他決定具體調(diào)用哪產(chǎn)品
5. 演示創(chuàng)建工廠的具體實(shí)例
簡單工廠的優(yōu)點(diǎn)/缺點(diǎn)
優(yōu)點(diǎn):簡單工廠模式能夠根據(jù)外界給定的信息,決定究竟應(yīng)該創(chuàng)建哪個(gè)具體類的對(duì)象。明確區(qū)分了各自的職責(zé)和權(quán)力,有利于整個(gè)軟件體系結(jié)構(gòu)的優(yōu)化。
缺點(diǎn):很明顯工廠類集中了所有實(shí)例的創(chuàng)建邏輯,容易違反GRASPR的高內(nèi)聚的責(zé)任分配原則