设计模式(五 建造者模式)

mac2024-05-13  27

建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。生成器模式

建造者模式包含如下角色:

Builder:抽象建造者

ConcreteBuilder:具体建造者

Director:指挥者

Product:产品角色

public class Product 

{

private String partA; //可以是任意类型

private String partB;

private String partC;

//partA的Getter方法和Setter方法省略

//partB的Getter方法和Setter方法省略

//partC的Getter方法和Setter方法省略

}

 

public abstract class Builder

{

protected Product product=new Product();

 

public abstract void buildPartA();

public abstract void buildPartB();

public abstract void buildPartC();

 

public Product getResult()

{

return product;

}

 

public class Director

{

private Builder builder;

 

public Director(Builder builder)

{

this.builder=builder;

}

 

public void setBuilder(Builder builder)

{

this.builder=builer;

}

 

public Product construct()

{

builder.buildPartA();

builder.buildPartB();

builder.buildPartC();

return builder.getResult();

}

 

……

Builder builder = new ConcreteBuilder();

Director director = new Director(builder);

Product product = director.construct();

…… 

 

最新回复(0)