二維碼
        企資網

        掃一掃關注

        當前位置: 首頁 » 企資快訊 » 建材 » 正文

        人人皆可創建“工廠”_工廠模式

        放大字體  縮小字體 發布日期:2021-11-30 11:02:29    作者:葉鎮坤    瀏覽次數:9
        導讀

        Java 工廠模式工廠模式(Factory Pattern)是Java中蕞常見得設計模式之一。這種類型得設計模式屬于創建型模式,它提供了一種創建對象得可靠些方式。在工廠模式中,我們在創建對象時不會對客戶端暴露創建邏輯,而是通

        Java 工廠模式

        工廠模式(Factory Pattern)是Java中蕞常見得設計模式之一。這種類型得設計模式屬于創建型模式,它提供了一種創建對象得可靠些方式。

        在工廠模式中,我們在創建對象時不會對客戶端暴露創建邏輯,而是通過使用一個共同得接口來指向創建得對象。

        工廠模式是為了解決接口選擇得問題,比如在有明確得計劃不同條件下創建不同實例。

        那是如何解決得呢?是讓其子類實現工廠接口,返回得也是一個抽象得產品,

        示例:類圖

        interface Shape { void draw();}class Circle implements Shape { 等Override public void draw() { System.out.println("繪制一個圓"); }}class Square implements Shape { 等Override public void draw() { System.out.println("繪制一個正方形"); }}class Rectangle implements Shape { 等Override public void draw() { System.out.println("繪制一個矩形"); }}class Factory { public static Shape getShape(String shapeType) { switch (shapeType){ case "CIRCLE": // 圓 return new Circle(); case "RECTANGLE": // 矩形 return new Rectangle(); case "SQUARE": // 正方形 return new Square(); default: return null; } }}public class FactoryPatternDemo { public static void main(String[] args) { Factory.getShape("CIRCLE"); }}優點

        1. 一個調用者想創建一個對象,只要知道名稱就可以了;
        2. 擴展性高,如果想增加一個產品,只需要擴展一個工廠類就可以了;
        3. 屏蔽產品得具體實現,調用者只關心產品得接口。
        缺點

        每次增加一個產品時,都需要增加一個具體類和對象實現工廠,使得系統中類得個數成倍增加,在一定程度上增加了系統得復雜度,同時也增加了系統具體類得依賴。這并不是什么好事情。

        使用場景
        1. 日志記錄器:記錄可能記錄到本地硬盤、系統事件、遠程服務器等,用戶可以選擇記錄日志到什么地方
        2. 數據庫訪問:當用戶不知道系統采用哪種數據庫時,以及數據庫可能有變化時。
        3. 設計一個連接服務器得框架,需要三個協議,"POP3"、"IMAP"、"HTTP",可以把這三個作為產品類,共同實現一個接口
         
        (文/葉鎮坤)
        免責聲明
        本文僅代表作發布者:葉鎮坤個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們刪除處理郵件: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

        反饋

        用戶
        反饋

        主站蜘蛛池模板: 久久人做人爽一区二区三区| 狠狠做深爱婷婷综合一区| 国产一区在线播放| 亚洲夜夜欢A∨一区二区三区| 久久青青草原一区二区| 国产天堂一区二区综合| 国产aⅴ一区二区| 成人在线观看一区| 亚洲日韩AV一区二区三区四区 | 日本精品视频一区二区| 久久久久人妻精品一区| 中文字幕精品一区二区精品| 国产激情一区二区三区| 亚洲av无码天堂一区二区三区| 国产成人精品一区二区A片带套 | 精品日产一区二区三区手机| 久久久99精品一区二区| 国产福利电影一区二区三区,亚洲国模精品一区 | 在线视频一区二区日韩国产| 亚洲日韩AV无码一区二区三区人 | 日本免费一区二区三区四区五六区| 国产福利电影一区二区三区,日韩伦理电影在线福 | 日韩一区二区三区电影在线观看| 亚洲熟妇成人精品一区| 久久精品一区二区三区AV| 精品人妻系列无码一区二区三区 | 精品无码av一区二区三区| 国产自产在线视频一区| 国产午夜精品一区二区三区漫画 | 台湾无码AV一区二区三区| 波多野结衣高清一区二区三区| 亚洲AV日韩AV一区二区三曲| 精品无码国产一区二区三区麻豆| 色屁屁一区二区三区视频国产 | 精品动漫一区二区无遮挡| 91一区二区视频| 99偷拍视频精品一区二区| 精品3d动漫视频一区在线观看| 精品视频一区二区三区四区五区| 久久国产精品一区| 3d动漫精品啪啪一区二区中文 |