Builder :构建复杂对象的
例如:
public class Person{
int id;
String name;
int age;
int score;
Location loc;
private Person(){}
public static class PersonBuilder{
Person p = new Person();
public PersonBuilder basicInfo(int id,String name,int age){
p.id = id;
p.name=name;
p.age=age;
return this;
}
public PersonBuilder basicInfo(int score){
p.score=score
return this;
}
public PersonBuilder loc(String street,String roomNo){
p.loc = new Location(street,roomNo);
return this;
}
public PersonBuilder build(){
return p;
}
}
}
使用:Person p = new Person.PersonBuilder().basicInfo(5,“wangmazi”,18).score(20).loc(“hello”,“99”).build();