Builder Design Pattern
Builder Design Pattern
Pattern
Builder Pattern says that "construct a complex object from simple
objects using step-by-step approach"
It is mostly used when object can't be created in single step like in the
de-serialization of a complex object.
1- Create Packing interface
CDType cdType2=cdBuilder.buildSamsungCD();
cdType2.showItems();
}
}
Output:
}
}
3- Create 2 implementation classes of Company: Sony and Samsung
@Override
public String packing(){
return new Box();
}
}
public abstract class Drink implements Food {
@Override
public abstract float price();
@Override
public String packing(){
return new Can();
}
}
public class VegPizza extends Pizza (){
@Override
public String name(){
return “Veg Pizza”;
}
@Override
public float price(){
return 100;
}
}
public class NonVegPizza extends Pizza (){
@Override
public String name(){
return “Non Veg Pizza”;
}
@Override
public float price(){
return 150;
}
}
public class Juice extends Drink (){
@Override
public String name(){
return “Fruit Juice ”;
}
@Override
public float price(){
return 50;
}
}
public class Cola extends Drink (){
@Override
public String name(){
return “Cola”;
}
@Override
public float price(){
return 75;
}
}
import java.util.ArrayList;
import java.util.List;
public class Order {
private List<Food> order=new ArrayList< Food >();
public void add(Food food) {
order.add(food);
}
public float getTotalPrice(){
float price =0;
for (Foot food: order)
price+= food.price();
return price;
}
public void printOrder(){
int i =1;
for (Food food: order){
System.out.print(i+“. "+ food.name+”, Rs ”+food.price+”. ”());
System.out.println("packing in: ”food.packing().pack());
i++;
}
}
}
public class OrderBuilder {
public Order buildorder (int pizzaChoice, int drinkChoice){
Order order=new Order();
if (pizzaChoice == 1)
Order.add(new VegPizza());
else if (pizzaChoice == 2)
Order.add(new NonVegPizza());
else System.out.println(“Sorry This Pizza Not Found ”)
if (drinkChoice == 1)
Order.add(new Juice());
else if (pizzaChoice == 2)
Order.add(newCola());
else System.out.println(“Sorry This Drink Not Found ”)
}
}
Import java.util.*;
public class BuilderDemo{
public static void main(String args[]){
Scanner input=new Scanner(System.in);
int pizzaChoice, drinkChoice = 0;
System.out.println(“ \n Choose a pizza: ”);
System.out.println(“1. Vega Pizza.”);
System.out.println(“2. Non Veg Pizza. ”);
System.out.println(“ \n Enter Your Choice : ”);
pizzaChoice=input.nextInt();
System.out.println(“ \n Choose a Drink: ”);
System.out.println(“ 1. Juice.”);
System.out.println(“ 2.Cola. ”);
System.out.println(“ \n Enter Your Choice : ”);
drinkChoice=input.nextInt();
Order.printOrder();
System.out.println(“ \n Your Total is : ”+ order.getTotalPrice());