軟件設計模式:建造者模式簡單介紹

軟件設計模式:建造者模式簡單介紹

builder pattern,顧名思義,建造者模式,作為常見的創建型模式,用途就是創建對象。

基本定義:將一個複雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。

優點正如定義所說,可以解決對象有複雜的內部構造或者有確定的依賴順序的屬性賦值的場景。

缺點是會產生多餘的創建者與構建過程對象,造成了內存資源的消耗,所以不適用於內部建造順序不穩定,變化複雜的對象,可能導致需要創建很多具體的建造者來實現這些變化。

舉個栗子:玩遊戲創建角色時的自定義功能,不同的外觀及武器等搭配組合生成不同的遊戲角色。

軟件設計模式:建造者模式簡單介紹

四個角色與UML類圖

軟件設計模式:建造者模式簡單介紹

軟件設計模式:建造者模式簡單介紹

具體的示例代碼如下:

軟件設計模式:建造者模式簡單介紹

軟件設計模式:建造者模式簡單介紹

測試輸出結果如下:

軟件設計模式:建造者模式簡單介紹

大體上來講,建造者模式與工廠模式很相似, 但是多了一個控制類, 控制複雜對象的過程創建.。所以建造者模式 本質上關注的是創建的過程,減少了創建對象中間過程所需要代碼 。建造模式是將複雜的內部創建封裝在內部,對於外部調用的人來說,傳入建造者和需要的工具就夠了,調用者不用關心內部是如何建造成成品的,體現了面向對象編程OOP的封裝思想。

軟件設計模式:建造者模式簡單介紹


分享到:


相關文章: