2011-04-26 76 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

生成器设计模式有助于隐藏在构建器类的复杂逻辑。假设我们正在开发一个解决方案,该解决方案根据应用程序用户的选择在不同季节构建一个大型足球场。我们将创建一个构建器类并在构建器类中传递季度信息对象。然后建设者班负责根据季节建造场地。

相关问题