一.Builder模式介绍
Builder模式是一步一步创建一个复杂对象的创建型模式,它允许用户在不知道内部构建细节的情况下,可以更精细的控制对象的构造流程。
二.Builder模式的定义
将一个复杂对象的构造与它的表示分离,使得同样的构造过程可以创建不同的表示。
三.Builder模式的使用场景
(1)相同的方法,不同的执行顺序,产生不同的事件结果。
(2)多个部件或零件,都可以装配到一个对象中,但是产生的运行结果又不同时。
(3)产品类很复杂,或者产品类中的调用顺序不同产生不同的作用。
(4)当初始化一个对象特别复杂,参数很多。
四.示例
public class Person {
private String name;
private int age;
private String sex;
public Person(String name, int age, String sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
", sex='" + sex + '\'' +
'}';
}
}
public class Builder {
private String name;
private int age;
private String sex;
public Builder setName(String name) {
this.name = name;
return this;
}
public Builder setAge(int age) {
this.age = age;
return this;
}
public Builder setSex(String sex) {
this.sex = sex;
return this;
}
public Person build(){
return new Person(name,age,sex);
}
}
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Person person = new Builder().setName("张三").setAge(18).setSex("男").build();
Log.d(TAG, "onCreate: "+person.toString());
}
}
五.总结
bulider模式在Android开发中较为常用,主要通过调用链实现,这样可以使得代码更简洁,易懂。