建造者设计模式的java代码
时间: 2023-03-20 12:00:52 浏览: 143
建造者设计模式是一种创建对象的设计模式,旨在将复杂对象的构建过程和其表示相互分离,使得同样的构建过程可以创建不同的表示形式。下面是一个使用Java语言实现的建造者设计模式的示例代码:
```
public class Product {
private String partA;
private String partB;
private String partC;
public void setPartA(String partA) {
this.partA = partA;
}
public void setPartB(String partB) {
this.partB = partB;
}
public void setPartC(String partC) {
this.partC = partC;
}
public String getParts() {
return "PartA: " + partA + ", PartB: " + partB + ", PartC: " + partC;
}
}
public interface Builder {
void buildPartA();
void buildPartB();
void buildPartC();
Product getProduct();
}
public class ConcreteBuilder implements Builder {
private Product product = new Product();
public void buildPartA() {
product.setPartA("PartA");
}
public void buildPartB() {
product.setPartB("PartB");
}
public void buildPartC() {
product.setPartC("PartC");
}
public Product getProduct() {
return product;
}
}
public class Director {
public void construct(Builder builder) {
builder.buildPartA();
builder.buildPartB();
builder.buildPartC();
}
}
public class Client {
public static void main(String[] args) {
Director director = new Director();
Builder builder = new ConcreteBuilder();
director.construct(builder);
Product product = builder.getProduct();
System.out.println(product.getParts());
}
}
```
这个示例代码中,Product表示最终构建出来的对象,Builder定义了如何构建Product对象的抽象接口,ConcreteBuilder实现了具体的构建方法,Director负责使用Builder来构建Product对象,Client负责创建Director和Builder并执行构建过程。这种实现方式可以在不同的场景中创建不同的Product对象。