Tag: 构造函数生成

如何在我的ModelInput类中使用Joshua Bloch的版本描述的Builder模式?

我正在尝试使用Builder Pattern为我的下面的类。最初我使用我的类的构造函数来设置所有参数但不小心我遇到了Builder模式,它看起来很适合我的用例。 下面是我的类,其中人们将主要传递userId , clientId和parameterMap但其他字段是可选的,它们可能会也可能不会传递它。 而且如果他们没有传递任何超时值,我需要将默认超时值设置为500,但如果他们传递任何超时值,那么它应该覆盖我的默认超时值。 这里Preference是一个有四个字段的ENUM。 public final class ModelInput { private long userid; private long clientid; private long timeout = 500L; private Preference pref; private boolean debug; private Map parameterMap; public ModelInput(long userid, long clientid, Preference pref, Map parameterMap, long timeout, boolean debug) { this.userid = userid; this.clientid = clientid; this.pref = pref; […]