<strike id="ca4is"><em id="ca4is"></em></strike>
  • <sup id="ca4is"></sup>
    • <s id="ca4is"><em id="ca4is"></em></s>
      <option id="ca4is"><cite id="ca4is"></cite></option>
    • 二維碼
      企資網(wǎng)

      掃一掃關(guān)注

      當(dāng)前位置: 首頁(yè) » 企資快訊 » 辦公 » 正文

      簡(jiǎn)單工廠模式詳解_優(yōu)缺點(diǎn)_實(shí)現(xiàn)步驟_以及應(yīng)用場(chǎng)

      放大字體  縮小字體 發(fā)布日期:2022-06-22 21:30:20    作者:付靜秀    瀏覽次數(shù):88
      導(dǎo)讀

      簡(jiǎn)單工廠模式(Factory Pattern)是 Java 中最常用得設(shè)計(jì)模式之一,這種類型得設(shè)計(jì)模式屬于創(chuàng)建型模式。感謝從一個(gè)具體得例子逐步分析,來(lái)體會(huì)簡(jiǎn)單工廠模式得應(yīng)用場(chǎng)景和利弊等mikechen簡(jiǎn)單工廠模式得定義簡(jiǎn)單工廠模

      簡(jiǎn)單工廠模式(Factory Pattern)是 Java 中最常用得設(shè)計(jì)模式之一,這種類型得設(shè)計(jì)模式屬于創(chuàng)建型模式。

      感謝從一個(gè)具體得例子逐步分析,來(lái)體會(huì)簡(jiǎn)單工廠模式得應(yīng)用場(chǎng)景和利弊等mikechen

      簡(jiǎn)單工廠模式得定義

      簡(jiǎn)單工廠模式(Simple Factory),又被稱為"靜態(tài)工廠方法模式",它屬于類創(chuàng)建型模式,同屬于創(chuàng)建型模式得還有(工廠方法模式,抽象工廠模式,單例模式,建造者模式)。

      用一個(gè)現(xiàn)實(shí)生活得例子更容易理解:生活中得工廠是負(fù)責(zé)生產(chǎn)產(chǎn)品得,同樣在設(shè)計(jì)模式中,簡(jiǎn)單工廠模式我們可以理解為負(fù)責(zé)生產(chǎn)對(duì)象得一個(gè)類,稱為“工廠類”。

      簡(jiǎn)單工廠模式得結(jié)構(gòu)1.工廠類

      工廠角色負(fù)責(zé)實(shí)現(xiàn)創(chuàng)建所有實(shí)例得內(nèi)部邏輯。

      2.抽象產(chǎn)品

      抽象產(chǎn)品角色是所創(chuàng)建得所有對(duì)象得父類,負(fù)責(zé)描述所有實(shí)例所共有得公共接口。

      3.具體產(chǎn)品

      具體產(chǎn)品角色是創(chuàng)建目標(biāo),所有創(chuàng)建得對(duì)象都充當(dāng)這個(gè)角色得某個(gè)具體類得實(shí)例。

      簡(jiǎn)單工廠模式得實(shí)現(xiàn)

      主要分為三個(gè)步驟:

      1.創(chuàng)建抽象產(chǎn)品類

      創(chuàng)建抽象產(chǎn)品類得作用:主要是定義具體產(chǎn)品得公共接口

      package com.mikechen.java.design.factory.simple;public abstract class Product { public abstract void Create(); }2.創(chuàng)建具體產(chǎn)品類

      創(chuàng)建具體產(chǎn)品類得作用:繼承抽象產(chǎn)品類,定義生產(chǎn)得具體產(chǎn)品

      package com.mikechen.java.design.factory.simple;public class ConcreteProduct extends Product{ 等Override public void Create() { System.out.println("生產(chǎn)具體得產(chǎn)品"); }}3.創(chuàng)建工廠類

      創(chuàng)建工廠類得作用:通過(guò)創(chuàng)建靜態(tài)方法從而根據(jù)傳入不同參數(shù)創(chuàng)建不同具體產(chǎn)品類得實(shí)例。

      package com.mikechen.java.design.factory.simple;public class Factory { public static Product newInstance() { return new ConcreteProduct(); }}

      這里我做了簡(jiǎn)化,實(shí)際得情況可以根據(jù)傳入得具體產(chǎn)品參數(shù)來(lái)實(shí)現(xiàn)具體得產(chǎn)品即可。

      簡(jiǎn)單工廠模式得優(yōu)缺點(diǎn)1. 優(yōu)點(diǎn)

      將創(chuàng)建實(shí)例得工作與使用實(shí)例得工作分開(kāi),使用者不必關(guān)心類對(duì)象如何創(chuàng)建,實(shí)現(xiàn)了解耦;

      把初始化實(shí)例時(shí)得工作放到工廠里進(jìn)行,使代碼更容易維護(hù)。

      2. 缺點(diǎn)

      工廠類集中了所有實(shí)例(產(chǎn)品)得創(chuàng)建邏輯,一旦這個(gè)工廠不能正常工作,整個(gè)系統(tǒng)都會(huì)受到影響;

      違背“開(kāi)放 - 關(guān)閉原則”,一旦添加新產(chǎn)品就不得不修改工廠類得邏輯,這樣就會(huì)造成工廠邏輯過(guò)于復(fù)雜。

      簡(jiǎn)單工廠模式由于使用了靜態(tài)工廠方法,靜態(tài)方法不能被繼承和重寫,會(huì)造成工廠角色無(wú)法形成基于繼承得等級(jí)結(jié)構(gòu)。

      簡(jiǎn)單工廠模式得應(yīng)用場(chǎng)景

      1.客戶如果只知道傳入工廠類得參數(shù),對(duì)于如何創(chuàng)建對(duì)象得邏輯不關(guān)心時(shí);

      2.客戶端既不需要關(guān)心創(chuàng)建細(xì)節(jié),甚至連類名都不需要記住,只需要知道類型所對(duì)應(yīng)得參數(shù)

      3.當(dāng)工廠類負(fù)責(zé)創(chuàng)建得對(duì)象具體產(chǎn)品比較少時(shí),由于創(chuàng)建得對(duì)象較少,不會(huì)造成工廠方法中得業(yè)務(wù)邏輯太過(guò)復(fù)雜。

      簡(jiǎn)單工廠模式得總結(jié)

      1.簡(jiǎn)單工廠模式包含三個(gè)角色:

    • 工廠角色負(fù)責(zé)實(shí)現(xiàn)創(chuàng)建所有實(shí)例得內(nèi)部邏輯;
    • 抽象產(chǎn)品角色是所創(chuàng)建得所有對(duì)象得父類,負(fù)責(zé)描述所有實(shí)例所共有得公共接口;
    • 具體產(chǎn)品角色是創(chuàng)建目標(biāo),所有創(chuàng)建得對(duì)象都充當(dāng)這個(gè)角色得某個(gè)具體類得實(shí)例。

      2.簡(jiǎn)單工廠模式蕞大得優(yōu)點(diǎn)在于實(shí)現(xiàn)對(duì)象得創(chuàng)建和對(duì)象得使用分離,將對(duì)象得創(chuàng)建交給專門得工廠類負(fù)責(zé),但是其蕞大得缺點(diǎn)在于工廠類不夠靈活,增加新得具體產(chǎn)品需要修改工廠類得判斷邏輯代碼,而且產(chǎn)品較多時(shí),工廠方法代碼將會(huì)非常復(fù)雜。

      3.簡(jiǎn)單工廠模式適用情況包括:工廠負(fù)責(zé)創(chuàng)建得對(duì)象比較少,客戶端只知道傳入工廠類得參數(shù),對(duì)于如何創(chuàng)建對(duì)象不關(guān)心得情況。

      如果不滿足于文章詳解,私信【架構(gòu)】獲取視頻詳解!

    •  
      (文/付靜秀)
      免責(zé)聲明
      本文僅代表作發(fā)布者:付靜秀個(gè)人觀點(diǎn),本站未對(duì)其內(nèi)容進(jìn)行核實(shí),請(qǐng)讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問(wèn)題,請(qǐng)及時(shí)聯(lián)系我們刪除處理郵件:weilaitui@qq.com。
       

      Copyright ? 2016 - 2025 - 企資網(wǎng) 48903.COM All Rights Reserved 粵公網(wǎng)安備 44030702000589號(hào)

      粵ICP備16078936號(hào)

      微信

      關(guān)注
      微信

      微信二維碼

      WAP二維碼

      客服

      聯(lián)系
      客服

      聯(lián)系客服:

      在線QQ: 303377504

      客服電話: 020-82301567

      E_mail郵箱: weilaitui@qq.com

      微信公眾號(hào): weishitui

      客服001 客服002 客服003

      工作時(shí)間:

      周一至周五: 09:00 - 18:00

      反饋

      用戶
      反饋

      午夜久久久久久网站,99久久www免费,欧美日本日韩aⅴ在线视频,东京干手机福利视频
        <strike id="ca4is"><em id="ca4is"></em></strike>
      • <sup id="ca4is"></sup>
        • <s id="ca4is"><em id="ca4is"></em></s>
          <option id="ca4is"><cite id="ca4is"></cite></option>
        • 主站蜘蛛池模板: 福利视频免费看| www天堂在线| 蜜桃av噜噜一区二区三区| 日韩精品亚洲人成在线观看| 国产激爽大片高清在线观看| 亚洲成a人片在线观| 2021天天干| 步兵精品手机在线观看| 天堂а√8在线最新版在线| 免费在线观看亚洲| xxxx黑人da| 特级毛片www| 在线天堂bt种子| 亚洲精品你懂的| 亚洲欧洲日产国码久在线| 99久re热视频这里只有精品6| 老阿姨哔哩哔哩b站肉片茄子芒果 老阿姨哔哩哔哩b站肉片茄子芒果 | 东北小彬系列chinese| 跳d放在里面逛超市的视频| 日韩在线一区二区| 国产乱码精品一区二区三| 久9re热这里精品首页| 美国一级毛片完整高清| 小泽玛利亚在线观看国产| 免费v片在线观看视频网站| 99久在线观看| 欧美巨大黑人精品videos人妖| 国产精品一区二区久久沈樵 | 韩国三级bd高清中文字幕合集| 无码日韩精品一区二区三区免费 | 女皇跪趴受辱娇躯| 人妻大战黑人白浆狂泄| 99re最新地址精品视频| 绿茶可约可空降直播软件| 嫩草影院www| 亚洲欧美日韩人成在线播放| 第一福利官方导航大全| 日本加勒比一区| 午夜影院一级片| 97福利视频精品第一导航| 欧美xxxx狂喷水|