1. 程式人生 > >設計模式之簡單工廠模式(創建型)

設計模式之簡單工廠模式(創建型)

== 邏輯 設計 技術分享 對象創建 代碼 extends 工廠類 font

定義

簡單工廠模式又稱靜態工廠模式。可以根據參數的不同返回不同類的實例。定義一個類來創建其它類的實例。

角色

簡單工廠模式包含如下角色
Factory:工廠角色
Product:抽象產品角色
ConcreteProduct:具體產品角色

技術分享圖片

簡單實例

public abstract class Produce{
    public abstract void m1()‘‘
}
public class ConcreteProduct extends Produce{
    public void m1(){}
}
public class Factory{
    
    public static Produce methodA(){
        return new ConcreteProduct();//創建具體產品
        
    };
}

場景應用

簡單工廠模式在jdk有不少應用,比如
java.text.DateFormat

public final static DateFormat getDateInstance();
public final static DateFormat getDateInstance(int style);
public final static DateFormat getDateInstance(int style,Locale
locale);

簡單工廠模式適用場景:
工廠類負責創建的對象比較少;客戶端只知道傳入工廠類的參數,對象創建過程不會影響客戶端代碼

優缺點

優點:簡單工廠模式將對象創建和本身業務處理分開,降低了耦合

缺點:工廠類集中了所有產品創建邏輯,一旦新增產品就得修改工廠類

設計模式之簡單工廠模式(創建型)