定义
Separate the construction of a complex object from its representation so that the same construction process can create different representations.
将复杂对象的创建过程与该对象的表示分离开来,以便让同一个创建过程可以创建出不同的表示。
类图
角色
- Builder:
定义一个抽象接口,用于创建Product组成部分 - ConcreteBuilder:
构建并组装Product组成部分;
定义并跟踪所创建的表示(Product?);
提供接口,用于查询product。 - Director:
使用Builder接口构建对象 - Product:
表示所创建的复杂对象;——ConcreteBuilder构建product的内部表示并定义它的组装过程;
包含定义组成部分的类。
示例代码
-
Product
public
class MyFile {
private FileHead fhead;
private FileContent fcontent;
private FileEnd fend;
public FileContent getFcontent() {
return fcontent;
}
public void setFcontent(FileContent fcontent) {
this.fcontent = fcontent;
}
public FileEnd getFend() {
return fend;
}
public void setFend(FileEnd fend) {
this.fend = fend;
}
public FileHead getFhead() {
return fhead;
}
public
private FileHead fhead;
private FileContent fcontent;
private FileEnd fend;
public FileContent getFcontent() {
return fcontent;
}
public void setFcontent(FileContent fcontent) {
this.fcontent = fcontent;
}
public FileEnd getFend() {
return fend;
}
public void setFend(FileEnd fend) {
this.fend = fend;
}
public FileHead getFhead() {
return fhead;
}
public