二維碼
        企資網(wǎng)

        掃一掃關(guān)注

        當(dāng)前位置: 首頁 » 企資快訊 » 辦公 » 正文

        Java23種設(shè)計(jì)模式之工廠模式

        放大字體  縮小字體 發(fā)布日期:2021-08-18 12:53:25    作者:王恒    瀏覽次數(shù):35
        導(dǎo)讀

        優(yōu)點(diǎn):用戶只需要知道具體工廠的名稱就可得到所要的產(chǎn)品,無須知道產(chǎn)品的具體創(chuàng)建過程。靈活性增強(qiáng),對于新產(chǎn)品的創(chuàng)建,只需多寫一個(gè)相應(yīng)的工廠類。典型的解耦框架。高層模塊只需要知道產(chǎn)品的抽象類,無須關(guān)心其他實(shí)

        優(yōu)點(diǎn):

        用戶只需要知道具體工廠的名稱就可得到所要的產(chǎn)品,無須知道產(chǎn)品的具體創(chuàng)建過程。

        靈活性增強(qiáng),對于新產(chǎn)品的創(chuàng)建,只需多寫一個(gè)相應(yīng)的工廠類。

        典型的解耦框架。高層模塊只需要知道產(chǎn)品的抽象類,無須關(guān)心其他實(shí)現(xiàn)類,滿足迪米特法則、依賴倒置原則和里氏替換原則。

        缺點(diǎn):

        類的個(gè)數(shù)容易過多,增加復(fù)雜度

        增加了系統(tǒng)的抽象性和理解難度

        抽象產(chǎn)品只能生產(chǎn)一種產(chǎn)品,此弊端可使用抽象工廠模式解決。

        應(yīng)用場景:

        客戶只知道創(chuàng)建產(chǎn)品的工廠名,而不知道具體的產(chǎn)品名。如 TCL 電視工廠、海信電視工廠等。

        創(chuàng)建對象的任務(wù)由多個(gè)具體子工廠中的某一個(gè)完成,而抽象工廠只提供創(chuàng)建產(chǎn)品的接口。

        客戶不關(guān)心創(chuàng)建產(chǎn)品的細(xì)節(jié),只關(guān)心產(chǎn)品的品牌

        模式的結(jié)構(gòu)與實(shí)現(xiàn)

        工廠方法模式由抽象工廠、具體工廠、抽象產(chǎn)品和具體產(chǎn)品等4個(gè)要素構(gòu)成。本節(jié)來分析其基本結(jié)構(gòu)和實(shí)現(xiàn)方法。

        1. 模式的結(jié)構(gòu)

        工廠方法模式的主要角色如下。

        抽象工廠(Abstract Factory):提供了創(chuàng)建產(chǎn)品的接口,調(diào)用者通過她訪問具體工廠的工廠方法 newProduct() 來創(chuàng)建產(chǎn)品。

        具體工廠(ConcreteFactory):主要是實(shí)現(xiàn)抽象工廠中的抽象方法,完成具體產(chǎn)品的創(chuàng)建。

        抽象產(chǎn)品(Product):定義了產(chǎn)品的規(guī)范,描述了產(chǎn)品的主要特性和功能。

        具體產(chǎn)品(ConcreteProduct):實(shí)現(xiàn)了抽象產(chǎn)品角色所定義的接口,由具體工廠來創(chuàng)建,她同具體工廠之間一一對應(yīng)。

        其結(jié)構(gòu)圖如圖 1 所示。

        來源:http://c.biancheng.net/view/1351.html

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

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

        粵ICP備16078936號

        微信

        關(guān)注
        微信

        微信二維碼

        WAP二維碼

        客服

        聯(lián)系
        客服

        聯(lián)系客服:

        在線QQ: 303377504

        客服電話: 020-82301567

        E_mail郵箱: weilaitui@qq.com

        微信公眾號: weishitui

        客服001 客服002 客服003

        工作時(shí)間:

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

        反饋

        用戶
        反饋

        熟妇人妻中文字幕无码老熟妇| 日韩av无码中文字幕| 秋霞无码一区二区| 中文字幕在线观看| 免费a级毛片无码| 无码精品日韩中文字幕| 精品中文高清欧美| 中文字幕aⅴ人妻一区二区| 国产AV无码专区亚洲A∨毛片| 国产aⅴ无码专区亚洲av麻豆| а天堂8中文最新版在线官网| 久久无码精品一区二区三区| 无码AV波多野结衣久久| 久久久久av无码免费网| 最近中文字幕国语免费完整| 中文字字幕在线一本通| 久久伊人中文无码| 国产成人无码av片在线观看不卡| 亚洲AV无码国产精品色午友在线| 日韩人妻无码一区二区三区综合部| 中文字幕在线免费 | 久久久久久久久久久久中文字幕| av一区二区人妻无码| 无码丰满熟妇juliaann与黑人| 欧美日韩中文字幕久久久不卡| 无码人妻少妇久久中文字幕蜜桃| 亚洲AV中文无码乱人伦| 亚洲AV永久无码精品一区二区| 少妇中文无码高清| 亚洲AⅤ永久无码精品AA| 无码人妻精品一区二区蜜桃AV| 精品无码综合一区| 亚洲成av人片在线观看天堂无码| 色视频综合无码一区二区三区| 午夜精品久久久久久久无码| 久久久久无码专区亚洲av| 无码色AV一二区在线播放| 最好看的2018中文在线观看| 亚洲高清中文字幕免费| 久久无码AV中文出轨人妻| 亚洲精品欧美精品中文字幕|