建立型模式之建造者模式

2022-08-12 21:09:12 字數 768 閱讀 1836

今天,剛剛做的新需求已經測試了,比較閒。抽空學習設計模式,充實自己啦。

建造者模式其實就是通過多個簡單的物件構建複雜的物件。它是一種建立物件的最佳方式,但是它獨立與其他物件。包含了建造者和導演。建造者建立和提供例項,導演:管理建造出來的例項的依賴關係。

應用例項:去肯德基,漢堡、可樂、薯條、炸雞翅等是不變的,而其組合是經常變化的,生成出所謂的"**"。

優點:建造者獨立,易擴充套件,便於控制

缺點:產品必須有共同點,範圍有限制。如果內部變化複雜會有很多的建造類。

實現:我們假設乙個快餐店的商業案例,其中,乙個典型的**可以是乙個漢堡(burger)和一杯冷飲(cold drink)。漢堡(burger)可以是素食漢堡(veg burger)或雞肉漢堡(chicken burger),它們是包在紙盒中。冷飲(cold drink)可以是可口可樂(coke)或百事可樂(pepsi),它們是裝在瓶子中。

我們將建立乙個表示食物條目(比如漢堡和冷飲)的 item 介面和實現 item 介面的實體類,以及乙個表示食物包裝的 packing 介面和實現 packing 介面的實體類,漢堡是包在紙盒中,冷飲是裝在瓶子中。

然後我們建立乙個 meal 類,帶有 item 的 arraylist 和乙個通過結合 item 來建立不同型別的 meal 物件的 mealbuilder。builderpatterndemo,我們的演示類使用 mealbuilder 來建立乙個 meal。

建立型模式之建造者模式

與抽象工廠的區別 在建造者模式裡,有個指導者 director 由指導者來管理建造者,使用者是與指導者聯絡的,指導者聯絡建造者最後得到產品。即建造者模式可以強制實行一種分步驟進行的建造過程。1.產品類product 一般是乙個較為複雜的物件,也就是說建立物件的過程比較複雜,一般會有比較多的 量。2....

建立型模式 建造者模式

建造者模式 builder pattern 將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。與抽象工廠的區別 在建造者模式裡,有個指導者,由指導者來管理建造者,使用者和指導聯絡,指導者聯絡建造者最後得到產品牌。即建造模式可以強制實現一種分步驟進行的建造過程。建造者模式將複雜...

建立型模式 建造者模式

這段時間剛好要觀摩持久層框架mybatis,恰好看到mybatis 複雜的工廠物件 sqlsessionfactory 的生成類 sqlsessionfactorybuilder 不禁想起gof 23種設計模式中的建造者模式。對照現實中,你去買車時只需知道你要買車的型別,便可到店中購得心滿意足的產品...