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

2021-08-29 20:57:24 字數 700 閱讀 3736

最近在看《精通python設計模式(mastering python design patterns)》,

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

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

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

比較專案\模式名稱

工廠模式

建造者模式

側重點簡化物件建立

簡化複雜過程、複雜順序的物件的建立

物件建立的靈活度預先定製,不靈活

預先定製較少,靈活度較高

實際例子蘋果電腦

組裝電腦

相關**和解析

實際例子說明

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

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

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

the end.

建造者模式和工廠模式的區別

它們目的都是建立乙個複雜的物件 工廠模式注重的是整體物件的建立方法,而建造者模式注重的是物件的建立過程,建立物件的過程方法可以在建立時自由呼叫。看一下建造者模式的例子就明白了 1 public class employeebuilder213 14public employeebuilder wit...

建造者模式 工廠模式 中介者模式區別

建造者模式 將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。建造者模式包含如下角色 builder 抽象建造者 concretebuilder 具體建造者 director 指揮者 product 產品角色 建造者模式的結構中還引入了乙個指揮者類director,該類的作用...

Python 建造者模式

usr bin python coding utf 8 建造者基類 class personbuilder def buildhead self pass def buildbody self pass def buildarm self pass def buildleg self pass 胖子...