<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    作者:王恒    瀏覽次數:24
      導讀

      工廠模式屬于創建型設計模式。是日常使用比較多的一種設計模式。比如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>
        • 主站蜘蛛池模板: 日韩欧国产精品一区综合无码| 黄瓜视频芭乐视频app下载| 毛片基地看看成人免费| 天天狠狠色噜噜| 夜栋病勤1一12在线观看| 国产乱人伦偷精品视频不卡| 久久精品国产欧美日韩| 99re热这里有精品首页视频| 狠狠色欧美亚洲综合色黑a| 天天综合天天射| 伦理eeuss| 99久久免费精品视频| 污污成人一区二区三区四区| 国内精品在线播放| 亚洲欧美人成综合导航| 2020夜夜操| 欧美人成在线观看| 国产极品视觉盛宴| 久久精品中文字幕无码| 要灬要灬再深点受不了看| 欧美激情一级二级三级在线视频| 幻女free性俄罗斯第一次摘花| 午夜三级A三级三点在线观看| 乳揉みま痴汉电车动漫中文字幕| 色在线亚洲视频www| 日韩欧美亚洲精品| 国产乱女乱子视频在线播放| 中文字幕国产综合| 精品久久久久久| 大伊香蕉在线精品不卡视频| 亚洲欧美日韩在线一区| 老司机成人影院| 日本高清免费中文字幕不卡| 四虎永久网址影院| jizz国产视频| 欧美日韩高清在线观看| 国产成人欧美一区二区三区vr| 久久久久亚洲av综合波多野结衣 | 亚洲老妈激情一区二区三区 | 婷婷人人爽人人做人人添| 亚洲综合激情另类小说区|