package com.henu.factory.simplefactory;
public class Pizza {
public void prepare(){
System.out.println("1.prepare");
}
public void bake(){
System.out.println("2.bake");
}
public void cut() {
System.out.println("3.cut");
}
public void box() {
System.out.println("4.box");
}
}
package com.henu.factory.simplefactory;
public class CheesePizza extends Pizza{
public CheesePizza(){}
}
public class GreekPizza extends Pizza{
public GreekPizza (){}
}
public class PepperoniPizza extends Pizza{
public PepperoniPizza(){}
}
package com.henu.factory.simplefactory;
public class Store {
//創建披薩
public Pizza OrderPizza(String type){
Pizza pizza = null;
/**
* 將經常變化的地方抽取出來
*/
/* if (type=="Cheese")
{
pizza = new CheesePizza();
}
else if (type=="Greek")
{
pizza = new GreekPizza();
}
else if (type == "Pepperoni")
{
pizza = new PepperoniPizza();
} */
SimpleFactory factory = new SimpleFactory();
pizza = factory.CreatePizza(type);
pizza.prepare();
pizza.bake();
pizza.cut();
pizza.box();
return pizza;
}
}
package com.henu.factory.simplefactory;
public class SimpleFactory {
public Pizza CreatePizza(String type){
Pizza pizza = null;
if (type=="Cheese")
{
pizza = new CheesePizza();
}
else if (type=="Greek")
{
pizza = new GreekPizza();
}
else if (type == "Pepperoni")
{
pizza = new PepperoniPizza();
}
package com.henu.factory.simplefactory;
public class TestSimpleFactory {
public static void main(String[] args) {
Store store = new Store();
store.OrderPizza("GreekPizza");
}
}
return pizza;
}
}
簡單工廠模式
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.