具有子类的构建器模式是一个已解决的问题,当您具有必需的参数时,步骤构建器也可以解决:


Builder with subclasses
Step builder


有人知道如何将两者结合吗?

即我们有子类,每个子类都有不同的步骤。

最佳答案

我认为您可能会沿着这条路走下去:您会发现,这两种模式已经在您的代码中增加了一定数量的复杂性,并且确保将它们组合在一起时事情不会变得更容易。

而且,由于您没有给出具体的示例,因此我建议您退后一步。并仔细查看您的对象模型。

含义:也许您应该重新考虑并简化对象模型。也许答案不是将子类,构建器模式和步骤构建器结合在一起;但要想出一个“简单”的类设计,不需要所有这些“开销”即可对您“有用”。

在这里让我“紧张”的是:班级应遵循单一责任原则。我想知道是否需要一个具有三级概念构建器的类才有用……实际上是否可以做“一件事”。或者,如果您要制作一些意大利面的东西,现在已经很难交易了;现在您希望通过添加这种复杂的构建器方法来从中“恢复”。

关于java - 具有子类的步骤构建器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42946211/

10-10 19:02