Java之建造者模式(Builder Pattern)
1.建造者模式的定義是:將一個復雜對象的構造與它的表示分離灶芝,使同樣的構建過程可以創(chuàng)建不同的表示,這樣的設計模式被稱為建造者模式漓藕。
2.實質:建造者模式是將復雜的內部創(chuàng)建封裝在內部,對于外部調用的人來說内列,只需要傳入建造者和建造工具撵术,對于內部是如何建造成成品的背率,調用者無需關心话瞧。
3.建造者模式的角色定義,在建造者模式中存在以下4個角色:
? Dirextor: 指揮者類寝姿,用于統(tǒng)一組裝流程交排;
? Builder:接口Builder類,規(guī)范產品的組建饵筑,一般是由子類實現(xiàn)埃篓;
? ConcreteBulider: 抽象Builder類的實現(xiàn)類,實現(xiàn)抽象Builder類定義的所有方法根资,并且返回一個組建好的對象架专;
? Product: 產品類。
4.簡單結構圖
5.實例展示:創(chuàng)建一些人玄帕,有胖子和一個瘦子部脚。
接口Builder類:
ConcreteBuilder類:
Product類:
Dirextor類:
Test類:
測試結果:
與抽象工廠的區(qū)別:在建造者模式里,有個指導者裤纹,由指導者來管理建造者委刘,用戶是與指導者聯(lián)系的,指導者聯(lián)系建造者最后得到產品鹰椒。即建造模式可以強制實行一種分步驟進行的建造過程锡移。