2011-04-26 78 views
6

嗨 我在學習Design Patterns並找到了Builder的設計模式。這種設計模式有什麼好處,我應該什麼時候使用它?我衝浪www.dofactory.comwww.blackwasp.com但仍然不明白的好處。由此,我是新來的設計模式,所以請用簡單的解釋我。什麼時候應該使用構建器設計模式?

在此先感謝。 Kevin

+3

可能重複[何時使用Builder模式?](http://stackoverflow.com/questions/328496/when-would-you-use-the-builder-pattern) – 2011-04-26 09:17:24

+1

另請檢查http:// stackoverflow.com/questions/5674513/differences-between-builder-pattern-vs-template-method – 2011-04-26 11:08:38

回答

13

生成器設計模式可以幫助我們分割構建對象的操作。它着重於逐步構建複雜的對象。它還執行一個過程來創建一個對象作爲成品。這意味着一個對象必須在準備好之前通過一些指示步驟進行按摩,並且可以被其他人使用。

通常,它允許您封裝複雜的創建邏輯。

生成器模式非常像工廠模式。建造者和工廠之間的關鍵區別在於,當你需要做很多東西來建立一個對象時,建造者是有用的。

欲瞭解更多信息:
http://en.wikipedia.org/wiki/Builder_pattern
http://www.codeproject.com/KB/architecture/Builder_Design_Pattern.aspx

+1

簡單的措辭打得更好,謝謝你。 – 2017-09-07 08:36:58

1

當我們想要實例按特定順序執行特定任務時,使用了Builder Design Pattern,詳細信息請參見wiki Builder pattern

希望幫助

2

你檢查Wikipedia Builder page

意圖是 施工對象中的抽象的步驟,以便 不同的這些步驟 實施方式可以構造不同的對象的 表示。

維基百科在Java中的例子。這應該有所幫助。

+1

這個例子似乎不再涉及披薩:) – 2016-11-09 01:16:46

+0

@DavidDoria謝謝你指出有人吃了維基百科比薩,並且現在的例子不再可用:)我更新了我的文章 – MarcoS 2016-11-18 10:43:32

3

生成器設計模式有助於隱藏在構建器類的複雜邏輯。假設我們正在開發一個解決方案,該解決方案根據應用程序用戶的選擇在不同季節構建一個大型足球場。我們將創建一個構建器類並在構建器類中傳遞季度信息對象。然後建設者班負責根據季節建造場地。

相關問題