Creational -- Builder

--- Builder.java ---
package creational.builder;
public interface Builder {
Product getResult();
void buildPart();
}
--- ConcreteBuilder.java ---
package creational.builder;
public class ConcreteBuilder implements Builder {
private Product resultProduct;
public Product getResult() {
return resultProduct;
}
public void buildPart() {
}
}
--- Product.java ---
package creational.builder;
public interface Product {
}
--- Director.java ---
package creational.builder;
public class Director {
private Builder theBuilder;
public Director(Builder aBuilder) {
theBuilder = aBuilder;
}
public void construct() {
theBuilder.buildPart();
}
}
--- Client.java ---
package creational.builder;
public class Client {
public void sampleOperation() {
ConcreteBuilder builder = new ConcreteBuilder();
(new Director(builder)).construct();
Product product = builder.getResult();
}
}

0 Comments:
Post a Comment
<< Home