<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>
        • 主站蜘蛛池模板: 亚洲国产成人久久精品软件| 91麻豆高清国产在线播放| 18禁无遮挡无码网站免费| 色综合天天综合网国产成人网| 久久国产精品女| 粉色视频成年免费人15次| 校霸把学霸往死里做| 好紧好爽太大了h视频| 嫩草成人永久免费观看| 国产成人高清视频免费播放| 人人妻人人澡人人爽欧美精品| 久久九九久精品国产| 69影院毛片免费观看视频在线| 美女开嫩苞视频在线播放| 欧洲吸奶大片在线看| 在线中文字幕播放| 又硬又粗又长又爽免费看| 乱人伦视频中文字幕| 99久久国产免费福利| 精品无码成人久久久久久| 日韩一级黄色影片| 国产精品无码专区在线观看| 免费黄色网址网站| 久久99久久99精品免视看动漫| 动漫成年美女黄漫网站国产| 男国少年梦电影| 成人av鲁丝片一区二区免费| 国产女人高潮叫床视频| 亚洲国产婷婷综合在线精品| 天天在线天天综合网色| 欧美大尺度xxxxx视频| 天堂mv在线看中文字幕| 午夜时刻免费实验区观看| 久久久国产99久久国产一| 黄网站色成年片大免费高清| 欧美理论片在线观看| 夫妻免费无码V看片| 全免费a级毛片免费**视频| 99久久免费国产精精品| 欧美怡红院免费全视频| 国产在线98福利播放视频免费|