最近在看《精通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 胖子...