設計模式之建立類模式 建造者模式

2022-07-07 03:36:12 字數 1574 閱讀 5890

建造者模式(builder pattern)也叫做生成器模式。

定義:

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

通用類圖:

通用**:

/**

* 產品類

* * @author administrator

* */

public class product

}

/**

* 抽象建造者

* * @author administrator

* */

public abstract class builder

/**

* 具體建造者

* * @author administrator

* */

public class concreteproduct extends builder

// 設定產品零件

@override

public void setpart()

}

如果有多個產品類就有幾個具體的建造者,而且這多個產品類具有相同介面或抽象類。

/**

* 導演類

* * @author administrator

* */

public class director

}

導演類起到封裝的作用,避免高層模組深入到建造者內部的實現類。當然,在建造者模式比較龐大時,導演類可以有多個。

建造者模式的優點:

封裝性  使用建造者模式可以是客戶端不必知道產品內部組成的細節。

建造者獨立,容易擴充套件

便於控制細節風險  由於具體的建造者是獨立的,因此可以對建造過程逐步細化,而不對其他的模組產生任何影響。

建造者模式的使用場景:

相同的方法,不同的執行順序,產生不同的事件結果時,可以採用建造者模式。

多個部件或零件,都可以裝配到乙個物件中,但是產生的執行結果又不相同時,則可以使用該模式。

產品類非常複雜,或者產品類中的呼叫順序不同產生了不同的效能,這個時候使用建造者模式非常合適。

在物件的建立過程中會使用到系統中的一些其他物件,這些物件在產品物件的建立過程中不易得到時,也可以使用建造者模式封裝該物件的建立過程。該種場景只能是乙個補償方法,因為乙個物件不容易獲得,而在設計階段竟然沒有發覺,而要通過建立者模式柔化建立過程,這本身已經違反設計的最初目標。

建立者模式的注意事項:

建立者模式關注的是零件型別和裝配工藝(順序),這是它與工廠方法模式最大不同的地方。

建造者模式最主要的功能是基本方法的呼叫順序安排,也就是這些基本方法已經實現了,通俗地說就是零件的裝配,順序不同產生的物件也不同;而工廠方法則重點是建立,建立零件是它的主要責任,組裝順序則不是它關係的。

建立型設計模式之建造者模式

建造者模式 主要用於將產品修飾的這部分內容抽象化,提供給外部乙個自由定製的修飾渠道,達到自由切換修飾規則但是不用修改舊 的效果。帶有抽象介面的建造者模式主要涉及的物件有 引導者 decorate 產品 抽象建造者介面 builder 定製化的builder。打個比方,我開著一輛拖拉機去石料場運載建築...

建立型設計模式之 建造者模式

建造者模式也被稱為生成器模式,它是建立乙個複雜物件的建立型模式,其將構建複雜物件的過程和它的部件解耦,使得構建過程和部件的表示分離開來。我們接著用工廠模式中的果園舉例,我們的水果店為了吸引老顧客 以及新顧客辦理會員,推出了各式各樣的 活動,例如會員購買蘋果 香蕉 桔子可以減15元 假日 活動可以立減...

設計模式建立型之建造者模式

有時需要建立乙個複雜物件,並且這個複雜物件由其各部分子物件通過一定的步驟組合而成。比如我們要生產乙個車,而車是由其它一些配件如引擎,車燈,輪子等組成。而且組裝是有一定順序的。如下 生產引擎 public class engine 生產車燈 public light 輪子 public class w...