Buider模式的优势:
保证像重叠构造器模式那样的安全性。 javaBeans模式的可读性。 能够适应不同参数的构造。
重叠构造器实现:
public class Person {
private String name;
private int sex;
public Person (String name) {
this .name = name;
}
public Person (int sex) {
this .sex = sex;
}
public Person (String name, int sex) {
this .name = name;
this .sex = sex;
}
}
javabean方法实现:
public class Person2 {
private String name;
private int age;
public String getName () {
return name;
}
public void setName (String name) {
this .name = name;
}
public int getAge () {
return age;
}
public void setAge (int age) {
this .age = age;
}
}
Builder模式示例代码:
public class BuildDesign {
private String name;
private Integer age;
public BuildDesign (Builder builder) {
name = builder.name;
age = builder.age;
}
public static class Builder{
private String name;
private Integer age;
public Builder (){
}
public Builder setName (String name) {
this .name = name;
return this ;
}
public Builder setAge (Integer age) {
this .age = age;
return this ;
}
public BuildDesign build (){
return new BuildDesign(this );
}
}
}
调用方式:
new BuildDesign.Builder ()
.setName ("huang" )
.setAge (8 )
.build ()