1. 定義
將一個復雜對象的構建與它的表示分離才菠,使得同樣的構建過程可以創(chuàng)建不同的表示斥杜。
這個專業(yè)術語我第一遍真沒有讀懂,這個到底是什么意思呢罗丰?
2. 分析
首先即然它叫建造者,說明它的主要目的就是建造一個東西出來咽袜,這個東西在Java中不用說也知道特指對象丸卷,這是其一; 第二它又說與表示分離询刹,那什么叫作表示呢谜嫉?表示又可以被解釋為表現,也即行為凹联,那從這個角度上來說其意思就是指使創(chuàng)建過程和它的行為分開處理沐兰,用另外的話說就是:給你指定的行為按同樣的創(chuàng)建方式把這個對象創(chuàng)建出來,就這么一回事蔽挠∽〈常可以參考具體的UML圖如下(此圖摘自于設計模式之禪一書):
1.png
這里的ConcreteBuilder為具體的建造者瓜浸,而Product是一個具體的產品,一個產品可以由多個零件組成比原,在ConcreteBuilder中根據具體的零件組裝順序進行裝配插佛。
3. Demo
具體的Demo可以參與書中的解釋,我認為解釋的很詳細了量窘。