Subscribe to Java/SCJP        RSS Feed
-----

Builder pattern

Icon Leave Comment
On the one hand, factory method is concerned about what is made but the builder pattern is concerned about how to make.
A builder pattern implementation will have:
1)an abstract builder
2)some concrete builders
3)a director
4)a product/object
5)a requester

The requester uses the director to build the product/object.
The builder constructs the product/object in phases by using the concrete builder as specified by the requester and returns it back.
The concrete builders extend the abstract builder.


e.g.
//Product
class Product {
	setthis()
	setthat()
}

//Abstract builder
abstract class ProductBuilder{
createnewproduct{
	product = new Procuct();
}
getProduct{
return product
}
abstract dothis()
abstract dothat()
}

//concretebuilder
class StrangeProductBuilder extends ProductBuilder{
dothis()
dothat()
}

//concretebuilder
class AmazigProductBuilder extends ProductBuilder{
dothis()
dothat(0
}

//director. It calls the product's dothis() dothat() methods
class ProductDirector{
private ProductBuilder;
setProductBuilder(ProductBuilder pb){
ProductBuilder = pb;
}
constructProduct() {
	//intantiate and call dothis and do that
}
getProduct() {
	return ProductBuilder.getProduct();  //see Product Builder above for getProduct()
}
}


//requester
class requester{
ProductDirector pd = new ProductDirector();
ProductBuilder stProduct = new StrangeProductBuilder();
pd.setProductBuilder(stProduct );
pd.constructProduct()
Product p = builder.getProduct()
}

0 Comments On This Entry

 

January 2022

S M T W T F S
      1
2345678
9101112131415
161718192021 22
23242526272829
3031     

Recent Entries

Recent Comments

Search My Blog

5 user(s) viewing

5 Guests
0 member(s)
0 anonymous member(s)