从Builder中的构建类中删除方法的重新实现,同时保持嵌套调用

时间:2015-02-01 04:50:42

标签: oop design-patterns builder

我有一个必须检查所有变量的类,同时可以添加更多必须设置的变量:

class A{
   setVar1();
   setVar2();
   setVar3();
}

我必须检查在构建它之前是否已调用所有三个集合。 如何创建一个构建器:

A.将不必再次重新调用上面的方法(比如在内部构建器中实现另一个setVar1()setVar2(),它将调用来自A的那些 - 这对于我将来执行每个setter两次的未来维护来说是一个地狱)。对我来说这么糟糕的例子就是:

class ABuilder{
   build(){...}
   builderSetVar1(){...} //HELL NO!
   builderSetVar2(){...} //NO NO NO!!!
   ...
}

B.在构建之前检查所有必须设置的成员(包的用户,将无法使用不完整的A)

C.将允许嵌套的单行构建A(Builder ... SetVar1(...).... SetVar2(...)。build())

甚至可以实现所有这三个目标吗?我尝试了太多的可能性和每个解决方案

全部面向对象。

1 个答案:

答案 0 :(得分:0)

离线找到答案:

我必须在构建器中执行setter,并且每次都只是扩展构建对象的构造函数。最后,我将能够构建并检查构建时的所有内容。

我认为这是我真正理解的第一种设计模式。