【问题标题】:Design pattern for creating object创建对象的设计模式
【发布时间】:2017-06-14 18:46:10
【问题描述】:

我想创建将基于其他几个对象创建的对象。我想使用 Builder pattern 但我有一些疑问。我可以看到构建器模式的所有示例都表明构建器具有简单的方法(例如 withName()withSurname() 等)。这些方法中的每一个都将输入参数分配给构建器中的字段。然后 build() 方法创建目标对象。

我想使用更复杂的对象作为这些方法的参数。在其中一些方法中,我将使用更复杂的逻辑来创建将在构建器中分配的字段值。

建造者模式是正确的选择吗?构建器方法可以有更复杂的逻辑吗?我应该使用其他设计模式吗?

【问题讨论】:

  • IIRC,构建器模式的动机是避免具有许多参数和许多重载的构造函数的臃肿构造函数。我认为构建器方法的复杂性不一定需要限制为简单的分配。但是,我会将建造者与工厂进行比较,看看哪个更合适。

标签: design-patterns builder-pattern


【解决方案1】:

编程并不是要遵循 T 的模式。 如果标准模式不适合,请自己制作。它们可以作为指南,因为它们展示了经过良好测试的设计。

在这种情况下,如果需要,您可以使用复杂的方法,我以前见过这样的构建器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 2014-08-06
    • 1970-01-01
    • 2015-03-24
    • 1970-01-01
    • 2023-04-08
    相关资源
    最近更新 更多