1, 对于一个类具有很多可选参数时,我们考虑使用:a,重叠构造器(telescoping constructor),b,JavaBean模式。C,构建器即Builder模式
2, 重叠构造器模式下,第一个只有必要参数的构造器,第二个构造器有一个可选参数,第三个构造器有两个,以此类推。
3, Javabean模式提供了set方法来设置值。但是其有可能出于不一致状态,所以我们必须保证其线程安全。
4, 构建起模式(builder)
public class Builderpattern{ private final int a; private final int b; private final int c; private final int d; private final int e; private final int f; public static class Builder{ private final int a; private final int b; private final int c=0; private final int d=0; private final int e=0; private final int f=0; public Builder(int a,int b){ this.a=a; this.b=b; } public Builder c(int val) {c=val; return this;} public Builder d(int val) {d=val;return this;} public Builder e(int val) {e=val;return this;} public Builder f(int val) {f=val;return this;} public Builderpattern build(){ return new Builderpattern(this); } } Private Builderpattern(Builder builder){ a=builder.a; b=builder.b; c=builder.c; d=builder.d; e=builder.e; f=builder.f; } } 客户端代码 Builderpattern cc=new Builderpattern.Builder(240,8).c(100).d(35).e(45).builder();