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

Add pizzeria franchising

parent fb68deac
No related branches found
No related tags found
No related merge requests found
Showing
with 226 additions and 52 deletions
package pizzeria;
public class CheesePizza extends Pizza {
public CheesePizza() {
name = "Cheese Pizza";
dough = "Regular Crust";
sauce = "Marinara Pizza Sauce";
toppings.add("Fresh Mozzarella");
toppings.add("Parmesan");
}
}
package pizzeria;
public class ChicagoPizzaFactory {
public Pizza createPizza(String type) {
Pizza pizza = null;
if (type.equals("cheese")) {
pizza = new ChicagoStyleCheesePizza();
} else if (type.equals("pepperoni")) {
pizza = new ChicagoStylePepperoniPizza();
} else if (type.equals("clam")) {
pizza = new ChicagoStyleClamPizza();
} else if (type.equals("veggie")) {
pizza = new ChicagoStyleVeggiePizza();
}
return pizza;
}
}
package pizzeria; package pizzeria;
public class PizzaStore { public class ChicagoPizzaStore {
ChicagoPizzaFactory factory;
public ChicagoPizzaStore(ChicagoPizzaFactory factory) {
this.factory = factory;
}
public Pizza orderPizza(String type) { public Pizza orderPizza(String type) {
Pizza pizza; Pizza pizza;
pizza = StaticSimplePizzaFactory.createPizza(type); pizza = factory.createPizza(type);
pizza.prepare(); pizza.prepare();
pizza.bake(); pizza.bake();
pizza.cut(); //pizza.cut();
pizza.box(); pizza.box();
return pizza; return pizza;
} }
} }
package pizzeria;
public class ChicagoStyleCheesePizza extends Pizza {
public ChicagoStyleCheesePizza() {
name = "Chicago Style Deep Dish Cheese Pizza";
dough = "Extra Thick Crust Dough";
sauce = "Plum Tomato Sauce";
toppings.add("Shredded Mozzarella Cheese");
}
public void cut() {
System.out.println("Cutting the pizza into square slices");
}
}
package pizzeria;
public class ChicagoStyleClamPizza extends Pizza {
public ChicagoStyleClamPizza() {
name = "Chicago Style Clam Pizza";
dough = "Extra Thick Crust Dough";
sauce = "Plum Tomato Sauce";
toppings.add("Shredded Mozzarella Cheese");
toppings.add("Frozen Clams from Chesapeake Bay");
}
public void cut() {
System.out.println("Cutting the pizza into square slices");
}
}
package pizzeria;
public class ChicagoStylePepperoniPizza extends Pizza {
public ChicagoStylePepperoniPizza() {
name = "Chicago Style Pepperoni Pizza";
dough = "Extra Thick Crust Dough";
sauce = "Plum Tomato Sauce";
toppings.add("Shredded Mozzarella Cheese");
toppings.add("Black Olives");
toppings.add("Spinach");
toppings.add("Eggplant");
toppings.add("Sliced Pepperoni");
}
public void cut() {
System.out.println("Cutting the pizza into square slices");
}
}
package pizzeria;
public class ChicagoStyleVeggiePizza extends Pizza {
public ChicagoStyleVeggiePizza() {
name = "Chicago Deep Dish Veggie Pizza";
dough = "Extra Thick Crust Dough";
sauce = "Plum Tomato Sauce";
toppings.add("Shredded Mozzarella Cheese");
toppings.add("Black Olives");
toppings.add("Spinach");
toppings.add("Eggplant");
}
public void cut() {
System.out.println("Cutting the pizza into square slices");
}
}
package pizzeria;
public class ClamPizza extends Pizza {
public ClamPizza() {
name = "Clam Pizza";
dough = "Thin crust";
sauce = "White garlic sauce";
toppings.add("Clams");
toppings.add("Grated parmesan cheese");
}
}
package pizzeria; package pizzeria;
public class StaticSimplePizzaFactory { public class NYPizzaFactory {
public static Pizza createPizza(String type) { public Pizza createPizza(String type) {
Pizza pizza = null; Pizza pizza = null;
if (type.equals("cheese")) { if (type.equals("cheese")) {
pizza = new CheesePizza(); pizza = new NYStyleCheesePizza();
} else if (type.equals("pepperoni")) { } else if (type.equals("pepperoni")) {
pizza = new PepperoniPizza(); pizza = new NYStylePepperoniPizza();
} else if (type.equals("clam")) { } else if (type.equals("clam")) {
pizza = new ClamPizza(); pizza = new NYStyleClamPizza();
} else if (type.equals("veggie")) { } else if (type.equals("veggie")) {
pizza = new VeggiePizza(); pizza = new NYStyleVeggiePizza();
} }
return pizza; return pizza;
} }
} }
package pizzeria;
public class NYPizzaStore {
NYPizzaFactory factory;
public NYPizzaStore(NYPizzaFactory factory) {
this.factory = factory;
}
public Pizza orderPizza(String type) {
Pizza pizza;
pizza = factory.createPizza(type);
pizza.prepare();
pizza.bake();
pizza.cut();
//pizza.box();
nyBox(pizza);
return pizza;
}
public void nyBox(Pizza pizza) {
System.out.println("NY style boxing " + pizza.name);
}
}
package pizzeria;
public class NYStyleCheesePizza extends Pizza {
public NYStyleCheesePizza() {
name = "NY Style Sauce and Cheese Pizza";
dough = "Thin Crust Dough";
sauce = "Marinara Sauce";
toppings.add("Grated Reggiano Cheese");
}
}
package pizzeria;
public class NYStyleClamPizza extends Pizza {
public NYStyleClamPizza() {
name = "NY Style Clam Pizza";
dough = "Thin Crust Dough";
sauce = "Marinara Sauce";
toppings.add("Grated Reggiano Cheese");
toppings.add("Fresh Clams from Long Island Sound");
}
}
package pizzeria;
public class NYStylePepperoniPizza extends Pizza {
public NYStylePepperoniPizza() {
name = "NY Style Pepperoni Pizza";
dough = "Thin Crust Dough";
sauce = "Marinara Sauce";
toppings.add("Grated Reggiano Cheese");
toppings.add("Sliced Pepperoni");
toppings.add("Garlic");
toppings.add("Onion");
toppings.add("Mushrooms");
toppings.add("Red Pepper");
}
}
package pizzeria;
public class NYStyleVeggiePizza extends Pizza {
public NYStyleVeggiePizza() {
name = "NY Style Veggie Pizza";
dough = "Thin Crust Dough";
sauce = "Marinara Sauce";
toppings.add("Grated Reggiano Cheese");
toppings.add("Garlic");
toppings.add("Onion");
toppings.add("Mushrooms");
toppings.add("Red Pepper");
}
}
package pizzeria;
public class PepperoniPizza extends Pizza {
public PepperoniPizza() {
name = "Pepperoni Pizza";
dough = "Crust";
sauce = "Marinara sauce";
toppings.add("Sliced Pepperoni");
toppings.add("Sliced Onion");
toppings.add("Grated parmesan cheese");
}
}
...@@ -3,12 +3,16 @@ package pizzeria; ...@@ -3,12 +3,16 @@ package pizzeria;
public class PizzaTestDrive { public class PizzaTestDrive {
public static void main(String[] args) { public static void main(String[] args) {
PizzaStore store = new PizzaStore(); NYPizzaFactory nyFactory = new NYPizzaFactory();
NYPizzaStore nyStore = new NYPizzaStore(nyFactory);
Pizza pizza = store.orderPizza("cheese"); Pizza pizza = nyStore.orderPizza("cheese");
System.out.println("We ordered a " + pizza.getName() + "\n"); System.out.println("We ordered a " + pizza.getName() + "\n");
pizza = store.orderPizza("veggie"); ChicagoPizzaFactory chicagoFactory = new ChicagoPizzaFactory();
ChicagoPizzaStore chicagoStore = new ChicagoPizzaStore(chicagoFactory);
pizza = chicagoStore.orderPizza("veggie");
System.out.println("We ordered a " + pizza.getName() + "\n"); System.out.println("We ordered a " + pizza.getName() + "\n");
} }
......
package pizzeria;
public class VeggiePizza extends Pizza {
public VeggiePizza() {
name = "Veggie Pizza";
dough = "Crust";
sauce = "Marinara sauce";
toppings.add("Shredded mozzarella");
toppings.add("Grated parmesan");
toppings.add("Diced onion");
toppings.add("Sliced mushrooms");
toppings.add("Sliced red pepper");
toppings.add("Sliced black olives");
}
}
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