Java之建造者模式(Builder Pattern)
1.建造者模式的定義是:將一個復雜對象的構(gòu)造與它的表示分離,使同樣的構(gòu)建過程可以創(chuàng)建不同的表示,這樣的設計模式被稱為建造者模式。
2.實質(zhì):建造者模式是將復雜的內(nèi)部創(chuàng)建封裝在內(nèi)部,對于外部調(diào)用的人來說,只需要傳入建造者和建造工具,對于內(nèi)部是如何建造成成品的,調(diào)用者無需關(guān)心。
3.建造者模式的角色定義,在建造者模式中存在以下4個角色:
? Dirextor: 指揮者類,用于統(tǒng)一組裝流程;
? Builder:接口Builder類,規(guī)范產(chǎn)品的組建,一般是由子類實現(xiàn);
? ConcreteBulider: 抽象Builder類的實現(xiàn)類,實現(xiàn)抽象Builder類定義的所有方法,并且返回一個組建好的對象;
? Product: 產(chǎn)品類。
4.簡單結(jié)構(gòu)圖

結(jié)構(gòu)圖.jpg
5.實例展示:創(chuàng)建一些人,有胖子和一個瘦子。
接口Builder類:

image.png
ConcreteBuilder類:

image.png

image.png
Product類:

image.png

image.png

image.png
Dirextor類:

image.png
Test類:

image.png
測試結(jié)果:

image.png
與抽象工廠的區(qū)別:在建造者模式里,有個指導者,由指導者來管理建造者,用戶是與指導者聯(lián)系的,指導者聯(lián)系建造者最后得到產(chǎn)品。即建造模式可以強制實行一種分步驟進行的建造過程。