設計模式 --- 簡單工廠模式

定義

定義一個工廠類,他可以根據參數的不同返回不同類的實例,被創建的實例通常都具有共同的父類

  • 在簡單工廠模式中用於被創建實例的方法通常爲靜態(static)方法,因此簡單工廠模式又被成爲靜態工廠方法(Static Factory Method)
  • 需要什麼,只需要傳入一個正確的參數,就可以獲取所需要的對象,而無需知道其實現過程
  • 此模式並不屬於23種設計模式,但它卻是工廠模式的基礎

簡單工廠模式的圖解如下

在這裏插入圖片描述

  • 當再新增一個水果香蕉時,只需要改造StaticFactory類代碼即可
  • 當其他人進行吃水果的運作時,無須再做改變

簡單工廠模式代碼演示:

/**
 * 簡單工廠模式 --- 靜態工廠模式
 */
public class StaticFactory {
    public static final int TYPE_APPLE = 1;//蘋果
    public static final int TYPE_ORANGE = 2;//桔子
    public static final int TYPE_BANANA = 3;//香蕉

    public static Fruit getFruit(int type){
        if(TYPE_APPLE == type){
            return new Apple();
        } else if(TYPE_ORANGE == type){
           return new Orange("dujaiyu",80);
        } else if(TYPE_BANANA == type){
            return new Banana();
        }
        return null;
    }

    /**
     * 多方法工廠
     * @return
     */
    public static Fruit getFruitApple(){
        return new Apple();
    }

    public static Fruit getFruitOrange(){
        return new Orange("dujaiyu",80);
    }

    public static Fruit getFruitBanana(){
        return new Banana();
    }


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