建造者模式: 將複雜物件的建造和表示分離, 使同樣的建造過程可以創造出不同細節的產品.
建造者模式,聽名字就應該知道和工廠模式一樣,是用來創造物件的。但是建造者和工廠模式的區別就是工廠模式只關注最終的產品,它往往是簡單的呼叫被建立者的建構函式;而建造者更關心細節, 它定義了建立乙個複雜物件所需的步驟, 而建立者具體的實現類可根據具體的需求,調整建立細節。
示例:
特點:
1 建造者定義了建造產品所需的各個步驟;
2 指揮者通過呼叫建造者, 按既定的步驟建造物件.
抽象建造者通過把產品的生產過程分解為不同的步驟, 從而使具體建造者在具體的建造步驟上具有更對彈性. 從而創造出不同表示的產品。
舉一例:
比如建造乙個人: 抽象建造者把造人的過程分解為: 建造頭部,驅趕, 四肢, 血液系統, 呼吸系統..... 那麼不同的具體建造者可以根據客戶需要, 建造出不同的人來: 有的人軀體胖, 有的人手臂長, 有的人a型血, 有的人b型血...... 這是建構函式無法提供的彈性。
大話設計模式讀書筆記(十) 建造者模式
將乙個複雜物件的構建與他的表示分離,使同樣的構建過程可以建立不同的表示。具體產品類 public class product public void show 建造者介面 public inte ce builder建造者介面實現 public class concretebuilder imple...
大話設計模式讀書筆記之裝飾者模式
1.定義 動態地給乙個物件新增一些額外的職責,就增加功能來說,裝飾模式比生成子類更為靈活。2.uml類圖 3.簡單介紹 component是定義乙個物件介面,可以給這些物件動態地新增職責。concretecomponent是定義了乙個具體的物件,也可以給這個物件新增一些職責。decorator,裝飾...
設計模式之建造者模式
軟體領域中的設計模式為開發人員提供了一種使用專家設計經驗的有效途徑。設計模式中運用了物件導向程式設計語言的重要特性 封裝 繼承 多型,真正領悟 設計模式的精髓是可能乙個漫長的過程,需要大量實踐經驗的積累。最近看設計模式的書,對於每個模式,用c 寫了個小例子,加深一下理解。主要參考 大話設 計模式 和...