建造者模式

建造者模式:是將一個複雜的對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。

建造者模式的好處就是保證了流程不會變化,流程即不會增加、也不會遺漏或者產生流程次序錯誤

建造者模式通常包括下面幾個角色:

1. builder:給出一個抽象接口,以規範產品對象的各個組成成分的建造。這個接口規定要實現複雜對象的哪些部分的創建,並不涉及具體的對象部件的創建。

2. ConcreteBuilder:實現Builder接口,針對不同的商業邏輯,具體化複雜對象的各部分的創建。 在建造過程完成後,提供產品的實例。

3. Director:調用具體建造者來創建複雜對象的各個部分,在指導者中不涉及具體產品的信息,只負責保證對象各部分完整創建或按某種順序創建。

4. Product:要創建的複雜對象。



使用建造者模式的好處:

1.使用建造者模式可以使客戶端不必知道產品內部組成的細節。

2.具體的建造者類之間是相互獨立的,對系統的擴展非常有利。

3.由於具體的建造者是獨立的,因此可以對建造過程逐步細化,而不對其他的模塊產生任何影響。

使用建造模式的場合:

1.創建一些複雜的對象時,這些對象的內部組成構件間的建造順序是穩定的,但是對象的內部組成構件面臨着複雜的變化。

2.要創建的複雜對象的算法,獨立於該對象的組成部分,也獨立於組成部分的裝配方法時。


與工廠模式相比,建造者模式一般用來創建更爲複雜的對象,因爲對象的創建過程更爲複雜,因此將對象的創建過程獨立出來組成一個新的類——導演類。也就是說,工廠模式是將對象的全部創建過程封裝在工廠類中,由工廠類向客戶端提供最終的產品;而建造者模式中,建造者類一般只提供產品類中各個組件的建造,而將具體建造過程交付給導演類。由導演類負責將各個組件按照特定的規則組建爲產品,然後將組建好的產品交付給客戶端。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章