1. 程式人生 > >【Python】工廠模式和建造者模式的區別

【Python】工廠模式和建造者模式的區別

最近在看《精通Python設計模式(Mastering Python Design patterns)》,

剛剛看完建造者模式,由於和看完工廠模式隔的時間有點久,再加上兩者本來就很像,有點分不清了。

所以,今天又看了看這兩者,區分一下,加強下記憶,以便安心看後邊的設計模式。

才疏學淺,有錯誤還請指正:

比較專案\模式名稱 工廠模式 建造者模式
側重點 簡化物件建立 簡化複雜過程、複雜順序的物件的建立
物件建立的靈活度 預先定製,不靈活 預先定製較少,靈活度較高
實際例子 蘋果電腦 組裝電腦

實際例子說明

比如,蘋果電腦的生產,用哪種型號的CPU、多大的記憶體、多大的硬碟、什麼作業系統等等,都定製好了,使用者參與的靈活度極低。

而組裝電腦的生產就靈活多了,哪種型號的CPU、多大的記憶體、多大的硬碟、什麼型號的顯示卡、什麼作業系統等等都可以自己說的算,靈活度較高。前者是工廠模式,後者是建造者模式。在建造者模式中,指揮者可以更多地參與建造的細節。

這裡的對於電腦的“生產”一詞可能不太妥當,不要過於糾結。本意在於說明兩種建造模式的區別。

The end.