生成器模式的意圖是:將一個復雜的類表示與其構造分離,使得相同的構建過程能夠得出不同的表示
Builder:抽象建造者,為創建一個產品對象各個部件指定抽象接口,把產品的生產過程分解為不同的步驟,從而使具體建造者在具體的建造步驟上具有更多彈性,從而創建不同表示的產品。
ConcreteBuilder:具體建造者,實現Builder接口,構造和裝配產品的各個部件定義并明確它所創建的表示,提供一個返回這個產品的接口。
Director:指揮者,構建一個使用Builder接口的對象
Product:產品角色,被構建的復雜對象,具體產品建造者,創建該產品的內部表示并定義它的裝配過程。