建造者模式,将一個複雜對象的建構與它的表示分離,使得相同的建構過程能夠建立不同的表示。
建造者模式能夠将一個産品的内部表象與産品的生成過程切割開來,進而能夠使一個建造過程生成具有不同的内部表象的産品對象。
假設我們使用了建造者模式。那麼使用者就僅僅需指定須要建造的類型就能夠得到他們,而詳細建造的過程和細節就不須要知道了。
Product就是詳細産品類,由多個部件組成。
Builder是為建立一個Product對象的各個部件指定的抽象接口。
ConcreteBuilder是詳細的建造者,實作Builder的接口。構造和裝配各個部件。
指揮者Director就是依據需求的詳細建造步驟。
建造者模式的優點就是使得建造代碼與表示代碼分離,因為建造者隐藏了該産品是怎樣組裝的,是以若須要改變一個産品的内部表示,僅僅須要再定義一個詳細的建造者就能夠了。
代碼:
<a>//Builder.h</a>
<a></a>
本文轉自mfrbuaa部落格園部落格,原文連結:http://www.cnblogs.com/mfrbuaa/p/5326421.html,如需轉載請自行聯系原作者