Monday, November 27, 2006

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