設計模式-建造者模式

1. 做用

將一個複雜對象的構造與它的具體構建方法分離,使一樣的構建過程能夠建立不一樣的對象html

2. 思想

 建造者模式,顧名思義的就是相似建房子,有一個固定的流程,將生成的對象和建造的方法過程進行了分離。房子都是地板,地基,裝修等操做,不一樣的房子只是具體的構建方法不一樣。可是咱們能夠把具體的實現進行分離,經過按照一個流程進行建造ui

3. 組成

 建造者模式的角色定義,在建造者模式中存在如下4個角色:spa

  1 builder:爲建立一個產品對象的各個部件指定抽象接口。htm

  2 ConcreteBuilder:實現Builder的接口以構造和裝配該產品的各個部件,定義並明確它所建立的表示,並提供一個檢索產品的接口。對象

  3 Director:構造一個使用Builder接口的對象。blog

  4 Product:表示被構造的複雜對象。ConcreteBuilder建立該產品的內部表示並定義它的裝配過程,包含定義組成部件的類,包括將這些部件裝配成最終產品的接口。接口

4. UML(以建房子爲例)

5. 總結

建造者模式的思路就是把建立的對象和建立的方法進行了分離,中間經過director來完成建立。ip

適用場景: 1. 結構複雜的對象 2. 種類比較多,構建的方法比較多  3. 流程比較一致產品

6. 參考

 http://www.cnblogs.com/liaoweipeng/p/5790603.html方法

7. 附錄

參考細節URL:http://www.cnblogs.com/wxisme/p/4520998.html

(1)這個模式適用於構建過程複雜的對象

(2)本質:分離了對象組件的單獨構造(由Builder來負責)和裝配(由Director)過程

(3)好處:因爲實現了構建和裝配的解耦。不一樣的構建器,相同的裝配,也能夠作出不一樣的對象。

                相同的構建器,不一樣的裝配順序,也能夠作出不一樣的對象

相關文章
相關標籤/搜索