您好,登錄后才能下訂單哦!
小編給大家分享一下Java設(shè)計(jì)模式中建造者模式怎么實(shí)現(xiàn),希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
建造者模式: 建造者模式隱藏了復(fù)雜對(duì)象的創(chuàng)建過(guò)程,它把復(fù)雜對(duì)象的創(chuàng)建過(guò)程加以抽象,通過(guò)子類繼承或者重載的方式,動(dòng)態(tài)的創(chuàng)建具有復(fù)合屬性的對(duì)象。
需要的組件:
主要解決:
主要解決在軟件系統(tǒng)中,有時(shí)候面臨著"一個(gè)復(fù)雜對(duì)象"的創(chuàng)建工作,其通常由各個(gè)部分的子對(duì)象用一定的算法構(gòu)成;由于需求的變化,這個(gè)復(fù)雜對(duì)象的各個(gè)部分經(jīng)常面臨著劇烈的變化,但是將它們組合在一起的算法卻相對(duì)穩(wěn)定。
當(dāng)我們要?jiǎng)?chuàng)建的對(duì)象比較復(fù)雜,各種參數(shù)配置很多的時(shí)候可以考慮使用建造者模式,將復(fù)雜的構(gòu)建過(guò)程封裝在構(gòu)建者中
var director = new Director();
Builder builder1 = new ConcreteBuilder1(), builder2 = new ConcreteBuilder2();
director.Construct(builder1);
director.Construct(builder2);
var product2 = builder1.GetResult();
var product2 = builder2.GetResult();
.net core 中的各種 builder (HostBuilder
/ConfigurationBuilder
/...) 我覺(jué)得也是屬于建造者模式的,只是 Builder 本身就是 Director, 通過(guò) builder 來(lái)實(shí)現(xiàn)對(duì)象的各種參數(shù)配置構(gòu)建最終的目標(biāo)對(duì)象 (Host
/Configuration
/...)
看完了這篇文章,相信你對(duì)“Java設(shè)計(jì)模式中建造者模式怎么實(shí)現(xiàn)”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。