以下是建造者模式的一般结构和关键要点:
1. 产品类(Product):表示被构建的复杂对象。通常包含多个部分。
public class Product {
private String part1;
private String part2;
// 构造函数、getter和setter方法
}
2. 抽象建造者类(Builder):定义构建产品的抽象方法,以及获取构建结果的方法。
public abstract class Builder {
public abstract void buildPart1();
public abstract void buildPart2();
public abstract Product getResult();
}
3. 具体建造者类(ConcreteBuilder):实现抽象建造者接口,具体定义如何构建各个部分。
public class ConcreteBuilder extends Builder {
private Product product = new Product();
@Override
public void buildPart1() {
// 构建第一个部分的逻辑
product.setPart1("Part1");
}
@Override
public void buildPart2() {
// 构建第二个部分的逻辑
product.setPart2("Part2");
}
@Override
public Product getResult() {
return product;
}
}
4. 指导者类(Director):负责使用建造者接口以及组装产品。
public class Director {
public void construct(Builder builder) {
builder.buildPart1();
builder.buildPart2();
}
}
使用建造者模式的客户端代码可能如下所示:
public class Client {
public static void main(String[] args) {
Builder builder = new ConcreteBuilder();
Director director = new Director();
director.construct(builder);
Product product = builder.getResult();
// 使用构建好的产品
}
}
建造者模式的优点在于可以更灵活地构建复杂对象,同时将构建过程与具体表示解耦,使得系统更易于扩展和维护。
转载请注明出处:http://www.zyzy.cn/article/detail/11841/设计模式