簡單工廠模式

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;
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章