定义
将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示。
使用场景
- 初始化一个对象特别复杂,例如:Android 中的 AlertDialog。
- 对同样的一些方式执行顺序不同时,产生不同的事件结果。
Java 代码示例
public class Dialog {
private String title;
private String content;
private Dialog() {
}
public void setTitle(String title) {
this.title = title;
}
public void setContent(String content) {
this.content = content;
}
public static class Builder {
private String title;
private String content;
public Builder setTitle(String title) {
this.title = title;
return this;
}
public Builder setContent(String content) {
this.content = content;
return this;
}
public Dialog create() {
Dialog dialog = new Dialog();
dialog.setTitle(title);
dialog.setContent(content);
return dialog;
}
}
}
new Dialog.Builder().setTitle("title").setContent("content").create();