<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)前位置: 首頁 » 企資快訊 » 辦公 » 正文

      工廠模式學(xué)習(xí)——工廠方法模式

      放大字體  縮小字體 發(fā)布日期:2023-03-12 22:42:36    作者:付嘉懿    瀏覽次數(shù):88
      導(dǎo)讀

      一、概念介紹前面學(xué)習(xí)了簡單工廠模式(簡單工廠模式的學(xué)習(xí)),簡單工廠模式存在很多問題。經(jīng)過實(shí)踐,業(yè)界針對其違反開閉原則的缺點(diǎn)進(jìn)行改進(jìn),有了工廠方法模式。工廠方法模式:又稱工廠模式、多態(tài)工廠模式和虛擬構(gòu)造

      一、概念介紹

      前面學(xué)習(xí)了簡單工廠模式(簡單工廠模式的學(xué)習(xí)),簡單工廠模式存在很多問題。經(jīng)過實(shí)踐,業(yè)界針對其違反開閉原則的缺點(diǎn)進(jìn)行改進(jìn),有了工廠方法模式。

      工廠方法模式:又稱工廠模式、多態(tài)工廠模式和虛擬構(gòu)造器模式,通過定義工廠父類負(fù)責(zé)定義創(chuàng)建對象的公共接口,而子類則負(fù)責(zé)生成具體的對象。

      二、實(shí)現(xiàn)示例

      2.1 UML類圖

      以生產(chǎn)汽車為例,將汽車制造工廠定義為一個(gè)公共接口CarFactory,分別由BaoMa生產(chǎn)工廠類于BenChi生產(chǎn)工廠類各自實(shí)現(xiàn),各自的工廠通過對應(yīng)汽車的構(gòu)造方法來創(chuàng)建對應(yīng)的汽車實(shí)例。

      UML類圖

      2.2 具體代碼

      2.2.1 汽車產(chǎn)品的定義與實(shí)現(xiàn)

      汽車接口

      public interface Car { void showBrand();}

      兩個(gè)具體實(shí)現(xiàn)類

      public class BaoMa implements Car{ @Override public void showBrand() { System.out.println("this car's brand is BaoMa!"); }}

      public class BenChi implements Car{ @Override public void showBrand() { System.out.println("this car's brand is BenChi!"); }}

      工廠接口及其實(shí)現(xiàn)類

      public interface CarFactory { Car produceCar();}

      public class BaoMaFactory implements CarFactory{ @Override public Car produceCar() { System.out.println("由寶馬工廠制造具體的寶馬汽車"); return new BaoMa(); }}

      public class BenChiFactory implements CarFactory{ @Override public Car produceCar() { System.out.println("由奔馳工廠制造具體的奔馳汽車"); return new BenChi(); }}

      使用代碼:

      public class FactoryMethodTest { public static void main(String[] args) { BaoMaFactory baoMaFactory = new BaoMaFactory(); Car baoma = baoMaFactory.produceCar(); baoma.showBrand(); System.out.println("==============================="); BenChiFactory benChiFactory = new BenChiFactory(); Car benchi = benChiFactory.produceCar(); benchi.showBrand(); }}

      運(yùn)行結(jié)果:

      控制臺輸出

      三、優(yōu)缺點(diǎn)分析

      優(yōu)點(diǎn):

      (1)更符合開閉原則

      (2)符合單一職責(zé)原則

      (3)讓擴(kuò)展變得簡單,讓繼承變得可行,增加了多態(tài)性的體現(xiàn)

      缺點(diǎn):

      (1)新增加產(chǎn)品類時(shí),還需要增加與之對應(yīng)的具體工廠類,系統(tǒng)中類的個(gè)數(shù)將成對增加,在一定程度上增加了系統(tǒng)的復(fù)雜度;

      (2)需要引入抽象層,增加了系統(tǒng)的抽象性和理解難度。

      四、實(shí)際應(yīng)用

      (1)JDK中的Collection接口

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

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

      粵ICP備16078936號

      微信

      關(guān)注
      微信

      微信二維碼

      WAP二維碼

      客服

      聯(lián)系
      客服

      聯(lián)系客服:

      在線QQ: 303377504

      客服電話: 020-82301567

      E_mail郵箱: weilaitui@qq.com

      微信公眾號: 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>
        • 主站蜘蛛池模板: 七次郎在线视频永久地址| 亚洲精品国精品久久99热| 中文字幕看片在线a免费| 一边摸一边叫床一边爽| 舌头伸进去里面吃小豆豆| 日本a级视频在线播放| 国产在线视频不卡| 久久国产精品99久久小说| 香蕉免费在线视频| 欧美日韩国产专区| 少妇被又大又粗又爽毛片久久黑人 | 国产99在线播放| 中文字幕第3页| 绿巨人草莓香蕉丝瓜菠萝| 局长的又长又粗慧芳| 免费无码va一区二区三区| a级在线观看视频| 欧美黑人巨大videos精品| 国产精品国产午夜免费福利看| 亚洲国产成人99精品激情在线| 色婷婷丁香六月| 日本按摩高潮a级中文片| 国产A级三级三级三级| 下载一个黄色录像| 蜜桃视频一区二区三区| 日韩高清一区二区三区不卡| 国产另ts另类人妖| 中文字幕丝袜制服| 男同在线观看免费网站| 国产高清精品一区| 亚洲va久久久噜噜噜久久| 韩国三级理论在线电影网| 我两腿被同学摸的直流水| 免费真实播放国产乱子伦| 99re热精品视频国产免费| 欧洲美熟女乱又伦免费视频| 国产在线19禁免费观看| 三人性free欧美多人| 毛片在线免费播放| 在线综合亚洲欧美自拍| 亚洲国产成人精品女人久久久 |