国产成人啪精品视频免费网-国产成人啪精品视频免费网站软件-国产成人盗拍精品免费视频-国产成人深夜福利在线观看-a中文字幕1区-a毛片

二維碼
企資網(wǎng)

掃一掃關注

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

設計模式系列_工廠模式

放大字體  縮小字體 發(fā)布日期:2021-09-18 05:45:23    作者:王恒    瀏覽次數(shù):37
導讀

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

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

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

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

舉個例子

通過工廠模式實現(xiàn)日志的創(chuàng)建,為不同種類的Logger分別創(chuàng)建不同類型的工廠。

來看一下UML圖:

來看一下代碼如何實現(xiàn)

先來定義一個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直接實現(xiàn)Logger和LoggerFactory就好了,看一下客戶端如何使用

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

總結

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


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


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

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

粵ICP備16078936號

微信

關注
微信

微信二維碼

WAP二維碼

客服

聯(lián)系
客服

聯(lián)系客服:

在線QQ: 303377504

客服電話: 020-82301567

E_mail郵箱: weilaitui@qq.com

微信公眾號: weishitui

客服001 客服002 客服003

工作時間:

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

反饋

用戶
反饋

主站蜘蛛池模板: 中文字幕亚洲不卡在线亚瑟 | 一男一女搞黄 | 久久久久一 | 国产成人99久久亚洲综合精品 | 97超视频在线观看 | 亚洲一区日韩一区欧美一区a | theav视频在线观看 | 免费国产成人手机在线观看 | 欧美一级在线 | 欧美 亚洲 在线 | 日本亚洲成高清一区二区三区 | 亚洲v视频 | 亚洲精品午夜国产va久久成人 | 国产一级一级一级成人毛片 | 亚洲视频自拍 | 日韩色网站 | 91亚洲精品成人一区 | 久热香蕉在线视频 | 亚洲综合精品一区二区三区中文 | 玖玖这里只有精品 | 成人亚洲精品一区二区 | 999国内精品永久免费视频 | 日韩在线资源 | 99久久精品免费观看国产 | 成人男女网18免费91 | 日韩制服诱惑 | 女让张开腿让男人桶视频 | 香蕉超级碰碰碰97视频蜜芽 | 国产一级久久免费特黄 | 精品亚洲视频在线观看 | 操欧美女 | 亚洲免费精品 | 成人在免费观看视频国产 | 国产成人aaa在线视频免费观看 | 亚洲高清在线视频 | 欧美日一区 | 国产三级精品91三级在专区 | 欧美一区三区 | 久久国产精品自线拍免费 | 日本一区二区三区在线 视频 | 老司机亚洲精品影院 |