我想创建基于其他几个对象创建的对象。我想使用构建器 模式,但我有些疑惑。我可以看到Builder模式的所有示例都显示构建器具有简单方法(例如 withName(), withSurname()等)。每个方法都将输入参数分配给构建器中的字段。然后 build()方法创建目标对象。
我想使用更复杂的对象作为这些方法的参数。在其中一些方法中,我将使用更复杂的逻辑来创建将在构建器中分配的字段值。
构建器模式是否正确选择?构建器方法可以有更复杂的逻辑吗?我应该使用其他设计模式吗?
答案 0 :(得分:3)
编程不是关于T的跟随模式。 如果标准图案不合适,请自行制作。它们作为指南,因为它们展示了经过良好测试的设计。
在这种情况下,如果有必要,你可以使用复杂的方法,我之前见过这样的建造者。