<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>
    • 二維碼
      企資網

      掃一掃關注

      當前位置: 首頁 » 企資快訊 » 辦公 » 正文

      設計模式系列_工廠模式

      放大字體  縮小字體 發布日期:2021-09-18 05:45:23    作者:王恒    瀏覽次數:44
      導讀

      工廠模式屬于創建型設計模式。是日常使用比較多的一種設計模式。比如Logback,Spring等框架中都大量使用該設計模式。上篇文章提到的簡單工廠模式雖然在簡單系統可以用一用,但是因為工廠類本身包含太多業務邏輯,而

      工廠模式屬于創建型設計模式。是日常使用比較多的一種設計模式。比如Logback,Spring等框架中都大量使用該設計模式。

      上篇文章提到的簡單工廠模式雖然在簡單系統可以用一用,但是因為工廠類本身包含太多業務邏輯,而且如果想增加新的圖表類型,需要修改工廠類等缺點。所以我們真正生產系統更多地使用工廠模式。

      工廠模式為每一個類都定義一個單獨的工廠類,該工廠類只負責創建單一的產品。

      舉個例子

      通過工廠模式實現日志的創建,為不同種類的Logger分別創建不同類型的工廠。

      來看一下UML圖:

      來看一下代碼如何實現

      先來定義一個Logger接口,以及LoggerFactory接口

      public interface Logger {    void writeLogger();}復制代碼
      public interface LoggerFactory{    Logger createLogger();}復制代碼

      分別定義FileLogger和FileLoggerFactory

      public class FileLogger implements Logger {    @Override    public void writeLogger() {        System.out.println("File logger");    }}復制代碼
      public class FileLoggerFactory implements LoggerFactory {    @Override    public Logger createLogger() {        //不同Logger的個性初始化工作        Logger logger =  new FileLogger();        return logger;    }}復制代碼

      如果想增加新的Logger直接實現Logger和LoggerFactory就好了,看一下客戶端如何使用

      public class Client {    public static void main(String[] args){        Logger logger;        LoggerFactory loggerFactory;        loggerFactory = new FileLoggerFactory();        logger = loggerFactory.createLogger();        logger.writeLogger();    }}復制代碼

      總結

      工廠模式是創建型模式之一,日常使用比較多,每類產品都有對應的一個工廠類。工廠模式把簡單工廠的內部邏輯遷移到了客戶端,當需要對功能擴展時,只需要修改客戶端就OK了。


      作者:花括號MC
      鏈接:https://juejin.cn/post/7008785463775346695
      來源:掘金
      著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


       
      (文/王恒)
      免責聲明
      本文僅代表作發布者:王恒個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們刪除處理郵件:weilaitui@qq.com。
       

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

      粵ICP備16078936號

      微信

      關注
      微信

      微信二維碼

      WAP二維碼

      客服

      聯系
      客服

      聯系客服:

      在線QQ: 303377504

      客服電話: 020-82301567

      E_mail郵箱: weilaitui@qq.com

      微信公眾號: weishitui

      客服001 客服002 客服003

      工作時間:

      周一至周五: 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>
        • 主站蜘蛛池模板: 欧美综合成人网| 3d无尽3d无尽动漫同人| 精品欧洲AV无码一区二区男男| 日本边添边摸边做边爱的视频| 国产成人精品怡红院在线观看| 亚洲一级黄色片| xxxx日本视频| 最近免费中文字幕大全高清10| 国产精品一区二区av| 亚洲专区欧美专区| 国产视频你懂得| 日韩欧美aⅴ综合网站发布| 国产夜趣福利免费视频| 久久国产免费一区| 茄子视频国产在线观看| 搡女人真爽免费视频大全| 啊轻点灬大ji巴太粗小说太男| 中文字幕一区在线| 精品久久人人做人人爽综合| 女生喜欢让男生自己动漫| 偷窥无罪之诱人犯罪电影| 99re在线观看| 欧美人善交videosg| 国产污视频在线观看| 久久天天躁狠狠躁夜夜免费观看| 被cao的合不拢腿的皇后| 成人午夜精品无码区久久| 健硕粗大猛烈浓精| 91区国产福利在线观看午夜| 领导边摸边吃奶边做爽在线观看| 日本理论片午午伦夜理片2021 | 国产成人精品综合| 久久免费视频网站| 精品国产香港三级| 在线观看国产精品麻豆| 亚洲国产精品久久久久婷婷软件| 免费福利视频导航| 抽搐一进一出在深一点| 人妻丝袜无码专区视频网站| 99国产在线视频| 极品尤物一区二区三区|