Java設計模式之《工廠方法模式》詳解 實現工廠方法

工廠方法模式(Factory Method)

常用的工廠方法模式是靜態工廠,利用static方法,作爲一種類似於常見的工具類Utils等輔助效果,一般情況下工廠類不需要實例化,只需通過類名調用靜態方法即可實現。

首先定義一個工廠類,裏面定義三個靜態方法

public class StaticFactory {
    private StaticFactory(){}
    public static Food getA(){  return new FoodA(); }
    public static Food getB(){  return new FoodB(); }
    public static Food getC(){  return new FoodC(); }
}

接着定義一個接口

public interface Food {    }

三個實現子類

public class FoodA implements Food { public FoodA { } //無參構造器}
public class FoodB implements Food { public FoodB { } //無參構造器}
public class FoodC implements Food { public FoodC { } //無參構造器}

客戶端代碼

public class Client{
    //客戶端代碼只需要將相應的參數傳入即可得到對象
    //用戶不需要了解工廠類內部的邏輯。
    public Food  get(String name){
        Food food = null ;
        if ( name.equals("FoodA")) {
            food  = StaticFactory.getA();
        }else if ( name.equals("FoodB")){
            food  = StaticFactory.getB();
        }else {
            food  = StaticFactory.getC();
        }
        return  food
    }
}

 

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