工廠方法模式分為三種:1、普通工廠模式 2、多個工廠模式 3、靜態工廠模式
1、定義乙個介面類
package com.dairuijie.factory;
/** * 動物介面
* @author drjyy
* */
public inte***ce anaimal
2、定義實現介面的類
package com.dairuijie.factory;
/** * 狗
* @author drjyy
* */
public class dog implements anaimal
}
package com.dairuijie.factory;
/** * 貓
* @author drjyy
* */
public class cat implements anaimal
}
3、定義工廠類
package com.dairuijie.factory;
/** * 普通工廠模式 這個就是工廠類負責通過type 來生產對應的物件 缺點:如果傳遞的字串出錯,則不能正確建立物件
* * @author drjyy
* */
public class factory else if ("cat".equals(type)) else
}}
/**
* 多個工廠方法模式 針對普通方法改進防止輸入字串出錯
* * @author drjyy
* */
public class factory
public anaimal catproduce()
}
/**
* 靜態工廠方法模式
* * 針對多個工廠方法模式 改進使用靜態方法直接呼叫不需要再去new 物件
* @author drjyy
* */
public class factory
public static anaimal catproduce()
普通工廠測試:
package com.dairuijie.factory;
public class factorytest
}
多個工廠測試:
package com.dairuijie.factory;
public class factorytest
}
靜態工廠模式測試:
package com.dairuijie.factory;
public class factorytest
}
總結:工廠模式適合:凡是出現了大量的不同的物件需要建立,並且具有共同的介面時,可以通過工廠方法模式進行建立。在以上的三種模式中,第一種如果傳入的字串有誤,不能正確建立物件,第三種相對於第二種,不需要例項化工廠類,所以,大多數情況下,我們會選用第三種——靜態工廠方法模式。
Java設計模式之工廠方法模式
l 工廠方法模式概述 工廠方法模式中抽象工廠類負責定義建立物件的介面,具體物件的建立工作由繼承抽象工廠的具體類實現。l 優點 客戶端不需要在負責物件的建立,從而明確了各個類的職責,如果有新的物件增加,只需要增加乙個具體的類和具體的工廠類即可,不影響已有的 後期維護容易,增強了系統的擴充套件性 l 缺...
Java設計模式之 工廠方法模式
工廠方法模式分為三種 普通工廠模式 多個工廠方法模式 靜態工廠方法模式。1 普通工廠模式 以發郵件和簡訊的例子說明。結構如下圖所示 主要分為四個步驟 建立各例項的共同介面 建立各功能例項 建立工廠 主程式。請看如下示例 public class factorymethodmodel 建立二者的共同介...
Java設計模式之工廠方法模式
一 工廠方法 factory method 模式 工廠方法模式的意義是定義乙個建立產品物件的工廠介面,將實際建立工作推遲到子類當中。核心工廠類不再負責產品的建立,這樣核心類成為乙個 抽象工廠 角色,僅負責具體工廠子類必須實現的介面,這樣進一步 抽象化的好處是使得工廠方法 模式可以使系統在不修改具體工...