天天看點

設計模式四(建造者模式)

今天我們來聊一聊設計模式的建立型第四種----建造者模式,這個模式和上回講的原型模式同樣應用很廣泛。主要是四個主要的角色産品、抽象建造者、具體建造者和指揮者!說到建造,那麼大家首先想到的肯定是建造房子這個場景,為了更貼切一些,我就用建造房子的例子來簡單的聊一聊。廢話不多說,下面看代碼示範

設計模式四(建造者模式)
設計模式四(建造者模式)

建立一個房屋産品對象

設計模式四(建造者模式)

建立一個抽象的建造者對象,供後續具體建造者(子類)來自定義業務的實作

設計模式四(建造者模式)
設計模式四(建造者模式)
設計模式四(建造者模式)
設計模式四(建造者模式)

以上建立了兩個具體的房屋建造者,豪宅和普通房屋。分别實作了抽象建造者接口中的建造流程

設計模式四(建造者模式)

建立一個房屋建造指揮者,你可以了解為工程師在指揮如何按步驟造出不同的房屋對象,相當于一個建造藍圖

設計模式四(建造者模式)
設計模式四(建造者模式)

經過測試就把房屋的具體建造流程給構造出來,最後傳回一個房屋對象,建造模式就完整的呈現出來了!它的好處也是顯而易見他對用戶端屏蔽了底層的現實細節,而且可以将複雜的過程細化成多個步驟實作,每一個具體的建造者都是互相獨立存在,後期的維護性與擴充型性都很好。

經過我上述的代碼一系列實作,不知道大家有沒有感覺到建造者模式和抽象工程模式有些許相似,同樣都是一系列具體子類去實作一個抽象的接口,并進行一系列的處理流程!

但是這兩個設計模式還是有很大不同的,抽象工廠模式首先他不需要關心實作流程,隻需專門生産具體的産品由具體的工廠對象來生産即可,而建造者模式是必須按照一定的設計藍圖來實作,根據一系列步驟完成産品的生産。

最後,如果你覺得這篇文章寫的還行,可以評論或轉發給身邊其他朋友哦,大家一起讨論學習,基友搭配,效率翻倍!

繼續閱讀