使用 Builder 模式的一些 常见 的、 真实的例子是什么? 它给你买了什么?为什么不直接使用工厂模式?
恕我直言,构建器和工厂之间的主要区别在于,当您需要做很多事情来构建对象时,构建器很有用。例如想象一个 DOM。您必须创建大量节点和属性才能获得最终对象。当工厂可以在一个方法调用中轻松创建整个对象时,使用工厂。
使用构建器的一个示例是构建 XML 文档,例如,我在构建 HTML 片段时使用了此模型,我可能有一个构建器用于构建特定类型的表,它可能具有以下方法 (未显示参数) :
BuildOrderHeaderRow() BuildLineItemSubHeaderRow() BuildOrderRow() BuildLineItemSubRow()
然后这个构建器会为我吐出 HTML。这比通过大型程序方法更容易阅读。
查看Wikipedia 上的 Builder 模式。