創(chuàng)建型設(shè)計(jì)模式.建造者模式

一、概念

1.1、定義

將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示。
建造者模式將一個(gè)復(fù)雜類的創(chuàng)建過程,劃分為多個(gè)「獨(dú)立步驟」子過程,并且根據(jù)需要按照調(diào)整「獨(dú)立步驟」的順序,從而生成復(fù)雜類的對(duì)象實(shí)例。

Builder.png
  • Director,指揮者:控制構(gòu)建的算法 和 產(chǎn)品的生成過程。
  • Builder,抽象建造者:創(chuàng)建過程劃分為多個(gè)「獨(dú)立步驟」的封裝。
  • ConcreteBuilder,具體建造者:實(shí)現(xiàn)細(xì)節(jié)構(gòu)建,實(shí)現(xiàn)Builder的各個(gè)創(chuàng)建步驟方法。
1.2、解決的問題

在軟件系統(tǒng)中,有時(shí)候面臨著"一個(gè)復(fù)雜對(duì)象"的創(chuàng)建工作,其通常由各個(gè)部分的子對(duì)象用一定的算法構(gòu)成;由于需求的變化,這個(gè)復(fù)雜對(duì)象的各個(gè)部分經(jīng)常面臨著劇烈的變化,但是將它們組合在一起的算法卻相對(duì)穩(wěn)定。

二、模式的應(yīng)用和優(yōu)缺點(diǎn)

2.1、應(yīng)用場景
  • 應(yīng)用場景:
    1、去肯德基,漢堡、可樂、薯?xiàng)l、炸雞翅等是不變的,而其組合是經(jīng)常變化的,生成出所謂的"套餐"。
    2、在很多游戲軟件中,地圖包括天空、地面、背景等組成部分,人物角色包括人體、服裝、裝備等組成部分,可以使用建造者模式對(duì)其進(jìn)行設(shè)計(jì),通過不同的具體建造者創(chuàng)建不同類型的地圖或人物。
2.2、優(yōu)缺點(diǎn)
  • 優(yōu)點(diǎn):
    1、復(fù)雜對(duì)象構(gòu)建過程進(jìn)行解耦,擴(kuò)展變的簡單容易,層次更加清晰,降低系統(tǒng)耦合度
    2、構(gòu)建過程的解耦,對(duì)于高風(fēng)險(xiǎn)的對(duì)象更加容易控制細(xì)節(jié)風(fēng)險(xiǎn)。

  • 缺點(diǎn):
    1、產(chǎn)品必須有共同點(diǎn),范圍有限制。
    2、如內(nèi)部變化復(fù)雜,會(huì)有很多的建造類。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容