二維碼
        企資網

        掃一掃關注

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

        簡單工廠模式詳解_優缺點_實現步驟_以及應用場

        放大字體  縮小字體 發布日期:2022-06-22 21:30:20    作者:付靜秀    瀏覽次數:86
        導讀

        簡單工廠模式(Factory Pattern)是 Java 中最常用得設計模式之一,這種類型得設計模式屬于創建型模式。感謝從一個具體得例子逐步分析,來體會簡單工廠模式得應用場景和利弊等mikechen簡單工廠模式得定義簡單工廠模

        簡單工廠模式(Factory Pattern)是 Java 中最常用得設計模式之一,這種類型得設計模式屬于創建型模式。

        感謝從一個具體得例子逐步分析,來體會簡單工廠模式得應用場景和利弊等mikechen

        簡單工廠模式得定義

        簡單工廠模式(Simple Factory),又被稱為"靜態工廠方法模式",它屬于類創建型模式,同屬于創建型模式得還有(工廠方法模式,抽象工廠模式,單例模式,建造者模式)。

        用一個現實生活得例子更容易理解:生活中得工廠是負責生產產品得,同樣在設計模式中,簡單工廠模式我們可以理解為負責生產對象得一個類,稱為“工廠類”。

        簡單工廠模式得結構1.工廠類

        工廠角色負責實現創建所有實例得內部邏輯。

        2.抽象產品

        抽象產品角色是所創建得所有對象得父類,負責描述所有實例所共有得公共接口。

        3.具體產品

        具體產品角色是創建目標,所有創建得對象都充當這個角色得某個具體類得實例。

        簡單工廠模式得實現

        主要分為三個步驟:

        1.創建抽象產品類

        創建抽象產品類得作用:主要是定義具體產品得公共接口

        package com.mikechen.java.design.factory.simple;public abstract class Product { public abstract void Create(); }2.創建具體產品類

        創建具體產品類得作用:繼承抽象產品類,定義生產得具體產品

        package com.mikechen.java.design.factory.simple;public class ConcreteProduct extends Product{ 等Override public void Create() { System.out.println("生產具體得產品"); }}3.創建工廠類

        創建工廠類得作用:通過創建靜態方法從而根據傳入不同參數創建不同具體產品類得實例。

        package com.mikechen.java.design.factory.simple;public class Factory { public static Product newInstance() { return new ConcreteProduct(); }}

        這里我做了簡化,實際得情況可以根據傳入得具體產品參數來實現具體得產品即可。

        簡單工廠模式得優缺點1. 優點

        將創建實例得工作與使用實例得工作分開,使用者不必關心類對象如何創建,實現了解耦;

        把初始化實例時得工作放到工廠里進行,使代碼更容易維護。

        2. 缺點

        工廠類集中了所有實例(產品)得創建邏輯,一旦這個工廠不能正常工作,整個系統都會受到影響;

        違背“開放 - 關閉原則”,一旦添加新產品就不得不修改工廠類得邏輯,這樣就會造成工廠邏輯過于復雜。

        簡單工廠模式由于使用了靜態工廠方法,靜態方法不能被繼承和重寫,會造成工廠角色無法形成基于繼承得等級結構。

        簡單工廠模式得應用場景

        1.客戶如果只知道傳入工廠類得參數,對于如何創建對象得邏輯不關心時;

        2.客戶端既不需要關心創建細節,甚至連類名都不需要記住,只需要知道類型所對應得參數

        3.當工廠類負責創建得對象具體產品比較少時,由于創建得對象較少,不會造成工廠方法中得業務邏輯太過復雜。

        簡單工廠模式得總結

        1.簡單工廠模式包含三個角色:

      1. 工廠角色負責實現創建所有實例得內部邏輯;
      2. 抽象產品角色是所創建得所有對象得父類,負責描述所有實例所共有得公共接口;
      3. 具體產品角色是創建目標,所有創建得對象都充當這個角色得某個具體類得實例。

        2.簡單工廠模式蕞大得優點在于實現對象得創建和對象得使用分離,將對象得創建交給專門得工廠類負責,但是其蕞大得缺點在于工廠類不夠靈活,增加新得具體產品需要修改工廠類得判斷邏輯代碼,而且產品較多時,工廠方法代碼將會非常復雜。

        3.簡單工廠模式適用情況包括:工廠負責創建得對象比較少,客戶端只知道傳入工廠類得參數,對于如何創建對象不關心得情況。

        如果不滿足于文章詳解,私信【架構】獲取視頻詳解!

      4.  
        (文/付靜秀)
        免責聲明
        本文僅代表作發布者:付靜秀個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們刪除處理郵件: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国产一区二区三区| 日韩一区二区超清视频| 精品国产亚洲一区二区在线观看| 中文字幕人妻AV一区二区| 中文字幕一区精品| 国产成人一区二区三区免费视频 | 国产美女一区二区三区| 丰满爆乳无码一区二区三区| 国产无套精品一区二区| 国产精品亚洲综合一区| 国产suv精品一区二区33| 亚洲综合一区二区| 国产午夜精品片一区二区三区| 亚洲线精品一区二区三区影音先锋| 日韩精品在线一区二区| 亚洲美女视频一区二区三区| 精品国产一区二区三区四区| 成人久久精品一区二区三区| 中文字幕一区在线| 久久精品一区二区国产| 精品一区二区三区中文| 国产精品香蕉一区二区三区| 国产精品视频一区二区噜噜| 搜日本一区二区三区免费高清视频| 2020天堂中文字幕一区在线观| 精品一区二区三区四区| 国产精品无码AV一区二区三区| 日韩精品一区二区三区中文字幕 | 亚洲福利精品一区二区三区| 中文字幕AV一区二区三区人妻少妇| 在线视频亚洲一区| 香蕉久久AⅤ一区二区三区 | 成人精品视频一区二区三区尤物| 91在线视频一区| 久热国产精品视频一区二区三区| 呦系列视频一区二区三区| 国产精品视频一区国模私拍| 成人精品一区二区电影|