Skip to content
Snippets Groups Projects
Commit 3f6cfafc authored by Peter Hertkorn's avatar Peter Hertkorn
Browse files

Add simple factory, default method, special method for product

parent 552d827f
No related branches found
No related tags found
No related merge requests found
package pizzeria;
public class PizzaStore {
SimplePizzaFactory factory;
public PizzaStore(SimplePizzaFactory factory) {
this.factory = factory;
}
public Pizza orderPizza(String type) {
Pizza pizza = null;
if (type.equals("cheese")) {
pizza = new CheesePizza();
} else if (type.equals("pepperoni")) {
pizza = new PepperoniPizza();
} else if (type.equals("clam")) {
pizza = new ClamPizza();
} else if (type.equals("veggie")) {
pizza = new VeggiePizza();
} else {
return pizza;
}
Pizza pizza;
pizza = factory.createPizza(type);
pizza.prepare();
pizza.bake();
......@@ -25,4 +20,27 @@ public class PizzaStore {
return pizza;
}
public Pizza orderPizza() {
Pizza pizza;
pizza = factory.createPizza();
pizza.prepare();
pizza.bake();
pizza.cut();
pizza.box();
return pizza;
}
public Pizza orderPepperoniPizza() {
Pizza pizza;
pizza = factory.createPepperoniPizza();
pizza.prepare();
pizza.bake();
pizza.cut();
pizza.box();
return pizza;
}
}
......@@ -3,7 +3,8 @@ package pizzeria;
public class PizzaTestDrive {
public static void main(String[] args) {
PizzaStore store = new PizzaStore();
SimplePizzaFactory factory = new SimplePizzaFactory();
PizzaStore store = new PizzaStore(factory);
Pizza pizza = store.orderPizza("cheese");
System.out.println("We ordered a " + pizza.getName() + "\n");
......@@ -11,6 +12,11 @@ public class PizzaTestDrive {
pizza = store.orderPizza("veggie");
System.out.println("We ordered a " + pizza.getName() + "\n");
System.out.println(new PizzaStore().orderPizza("pepperoni").toString());
pizza = store.orderPepperoniPizza();
System.out.println("We ordered a " + pizza.getName() + "\n");
pizza = store.orderPizza();
System.out.println("We ordered a " + pizza.getName() + "\n");
}
}
package pizzeria;
public class SimplePizzaFactory {
public Pizza createPizza(String type) {
Pizza pizza = null;
if (type.equals("cheese")) {
pizza = new CheesePizza();
} else if (type.equals("pepperoni")) {
pizza = new PepperoniPizza();
} else if (type.equals("clam")) {
pizza = new ClamPizza();
} else if (type.equals("veggie")) {
pizza = new VeggiePizza();
}
return pizza;
}
public Pizza createPizza() {
return new CheesePizza();
}
public Pizza createPepperoniPizza() {
return new PepperoniPizza();
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment