筆記 03 Builder 生成器模式

2021-05-26 15:35:13 字數 636 閱讀 8627

動機

(motivation)

情況:乙個複雜物件的建立工作

複雜物件由各個部分的子物件用一定的演算法構成

變化:各個部分經常面臨劇烈的變化

組合在一起的演算法相對穩定

提供一種「封裝機制」:

隔離「複雜物件的各個部分」

保持系統中「構建演算法的穩定」

意圖(intent)

將乙個複雜物件的構建與其表示相分離,使得同樣的構建過程可以建立不同的表示。

幾個要點

用於「分步驟構建乙個複雜的物件」

分步驟 是乙個穩定的演算法

複雜物件各個部分經常變化

適合        複雜物件各個部分的頻繁需求變動

不適合    分步驟構建演算法的需求變動

abstract factory模式解決「系列物件」的需求變化

系列物件之間互相依賴耦合

builder模式解決「物件部分」的需求變化

各個物件同屬於乙個大物件

builder模式通常和composite模式組合使用

設計模式學習筆記(四) Builder生成器模式

builder 生成器模式是一種建立型模式,它主要是應對專案中一些複雜物件的建立工作。所謂 複雜物件 是只 此物件中還含有其它的子物件。builder 模式所面對的情況是 各個部分的子物件用一定的演算法構成 由於需求的變化,這個複雜物件的各個部分經常面臨著劇烈的變化,但是將他們組合在一起的演算法卻相...

設計模式學習筆記(四) Builder生成器模式

builder 生成器模式是一種建立型模式,它主要是應對專案中一些複雜物件的建立工作。所謂 複雜物件 是只 此物件中還含有其它的子物件。builder 模式所面對的情況是 各個部分的子物件用一定的演算法構成 由於需求的變化,這個複雜物件的各個部分經常面臨著劇烈的變化,但是將他們組合在一起的演算法卻相...

生成器模式 Builder

把複雜的物件的構建與其表示分離開,以便根據程式的需要在相同的建立過程中建立不同的表示。每個生成器必須有乙個相同的方法名稱。client 建立乙個 director 物件,指定乙個 build 物件,配置 director。當 product 需要生成時,director 通知該builder bui...