我有一个必须检查所有变量的类,同时可以添加更多必须设置的变量:
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())
甚至可以实现所有这三个目标吗?我尝试了太多的可能性和每个解决方案
全部面向对象。
答案 0 :(得分:0)
离线找到答案:
我必须在构建器中执行setter,并且每次都只是扩展构建对象的构造函数。最后,我将能够构建并检查构建时的所有内容。
我认为这是我真正理解的第一种设计模式。