創(chuàng)建型設(shè)計(jì)模式.簡單工廠模式

一、概念

1.1、定義

又稱為靜態(tài)工廠方法(Static Factory Method)模式,可以根據(jù)參數(shù)Key的創(chuàng)建并返回不同的實(shí)例。


SimpleFactory.png
  • Factory,工廠類: 負(fù)責(zé)根據(jù)不同入?yún)?,?chuàng)建不同的實(shí)例對象
  • Product,產(chǎn)品抽象類: 產(chǎn)品類的抽象類或者接口,方便產(chǎn)品的擴(kuò)展
  • ConcreteProduct,具體產(chǎn)品類: 具體擴(kuò)展的產(chǎn)品類
1.2、解決的問題
  • 解決問題:對繼承同一個抽象基類或者接口的產(chǎn)品類的實(shí)例化過程進(jìn)行封裝。

二、模式的應(yīng)用和優(yōu)缺點(diǎn)

2.1、應(yīng)用場景
  • 應(yīng)用實(shí)例:JDK類庫中廣泛使用了簡單工廠模式,如工具類java.text.DateFormat,它用于格式化一個本地日期或者時間。 public final static DateFormat getDateInstance(int style);
  • 應(yīng)用實(shí)例:Java加密技術(shù),獲取不同加密算法的密鑰生成器KeyGenerator keyGen=KeyGenerator.getInstance("DESede");
2.2、優(yōu)缺點(diǎn)
  • 優(yōu)點(diǎn):
    對類的實(shí)例化過程的統(tǒng)一封裝,提高代碼可復(fù)用性,降低系統(tǒng)耦合度。
    可以將傳入的參數(shù)進(jìn)行寫入文件,動態(tài)的配置類的創(chuàng)建過程。

  • 缺點(diǎn):優(yōu)點(diǎn)即是缺點(diǎn),類實(shí)例化全部集中于一個類方法中,擴(kuò)展變的不容易,也不符合開閉原則。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 定義:定義一個工廠類,它可以根據(jù)參數(shù)的不同返回不同類的實(shí)例,被創(chuàng)建的實(shí)例通常都具有共同的父類。因?yàn)楹唵喂S模式中用...
    NullPointers閱讀 386評論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,586評論 19 139
  • 一個UML類圖 類之間的關(guān)系 類的繼承結(jié)構(gòu)表現(xiàn)在UML中為:泛化(generalize)與實(shí)現(xiàn)(realize) ...
    僚機(jī)KK閱讀 750評論 0 0
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,734評論 18 399
  • 20171028能量世界92天 我怎么如此幸運(yùn)在在幫助陌生人時沒有擔(dān)心了 我怎么如此幸運(yùn)早上吃到了非常舒服醪糟荷包...
    史德波閱讀 215評論 1 0

友情鏈接更多精彩內(nèi)容