如果一个类的构造器或者静态工场中有多个参数,使用Builder模式。
public class Lunch {
private String cake;
private String milk;
private String meat;
private String drink;
public static class Builder{
private String cake;
private String milk;
private String meat;
private String drink;
public Builder(){
}
public Builder addCake(String cake){
this.cake = cake;
return this;
}
public Builder addMilk(String milk){
this.milk = milk;
return this;
}
public Builder addMeat(String meat){
this.meat = meat;
return this;
}
public Builder addDrink(String drink){
this.drink = drink;
return this;
}
public Lunch create(){
return new Lunch(this);
}
}
private Lunch(Builder builder){
this.cake = builder.cake;
this.drink = builder.drink;
this.meat = builder.meat;
this.milk = builder.milk;
}
public String toString() {
// TODO Auto-generated method stub
return "==" + meat + "==" + cake + "==" + milk + "==" + drink;
}
}
public class Test {
public static void main(String[] args) {
Lunch.Builder builder = new Lunch.Builder();
Lunch lunch = builder.addCake("cake")
.addMeat("meat")
.addDrink("drink")
.addMilk("milk")
.create();
System.out.println(lunch.toString());
}
}