建造者模式 介紹 建造者模式註重的是部件構建的過程,意在通過一步一步地精確構造出一個複雜的對象。 可以將建造者模式理解為,假設我們有一個對象需要建立,這個對象是由多個組件(Component)組合而成,每個組件的建立都比較複雜,但運用組件來建立所需的組件對象非常簡單,所以我們就可以將構建複雜組件的步 ...
建造者模式
介紹
建造者模式註重的是部件構建的過程,意在通過一步一步地精確構造出一個複雜的對象。
可以將建造者模式理解為,假設我們有一個對象需要建立,這個對象是由多個組件(Component)組合而成,每個組件的建立都比較複雜,但運用組件來建立所需的組件對象非常簡單,所以我們就可以將構建複雜組件的步驟與運用組件構建對象分離,從而構造出複雜的對象。
建造者模式包含如下角色:
- 抽象建造者類(Builder):這是一個介面,該介面除了為創建一個Product對象的各個組件定義了若幹個方法之外,還要定義返回Product對象的方法(定義構造步驟);
- 具體建造者類(ConcreteBuilder):實現 Builder 介面的類,實現Builder介面中所定義的方法(生產各個組件);
- 產品類(Product):要創建的複雜對象;
- 指揮者類(Director):指揮者是一個類,該類需要含有Builder介面聲明的變數。指揮者的職責是負責向用戶提供具體生成器,即指揮者將請求具體生成器類來構造用戶所需要的Product對象,如果所請求的具體生成器成功地構造出Product對象,指揮者就可以讓該具體生產器返回所構造的Product對象。(按照步驟組裝部件,並返回Product)
舉個