二維碼
        企資網(wǎng)

        掃一掃關(guān)注

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

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

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

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

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

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

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

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

        缺點(diǎn):

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

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

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

        應(yīng)用場景:

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

        創(chuàng)建對象的任務(wù)由多個具體子工廠中的某一個完成,而抽象工廠只提供創(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ò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ā)布者:王恒個人觀點(diǎn),本站未對其內(nèi)容進(jìn)行核實(shí),請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問題,請及時聯(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

        工作時間:

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

        反饋

        用戶
        反饋

        亚洲爆乳无码专区| 天堂中文在线最新版| 中文字幕无码精品亚洲资源网久久| 欧美日韩亚洲中文字幕二区| 久久久久亚洲AV无码去区首| 免费无码黄网站在线看| 中文字幕无码AV波多野吉衣| 久久青青草原亚洲av无码app| 中文无码vs无码人妻| 亚洲无av在线中文字幕| 狠狠精品久久久无码中文字幕 | 久久精品无码一区二区app| 亚洲av永久无码精品秋霞电影影院 | 国产福利电影一区二区三区久久老子无码午夜伦不 | 国产成人AV一区二区三区无码| 亚洲va中文字幕无码| 美丽姑娘免费观看在线观看中文版| 超清无码无卡中文字幕| 无码日韩人妻精品久久蜜桃| 中文字幕国产91| 在线中文字幕播放| 色婷婷久久综合中文久久蜜桃av| 久久久久亚洲精品无码网址| 波多野结AV衣东京热无码专区| 无码专区狠狠躁躁天天躁 | 无码人妻熟妇AV又粗又大| 最新版天堂中文在线| 中文字幕在线视频播放| 亚洲中文字幕在线第六区| 久本草在线中文字幕亚洲欧美| 无码日韩人妻AV一区二区三区| 久久亚洲国产成人精品无码区| 丰满人妻AV无码一区二区三区| 97久久精品无码一区二区 | 无码人妻精品一区二| 日韩少妇无码喷潮系列一二三 | 无码av不卡一区二区三区| 国产成人午夜无码电影在线观看 | 国产精品无码专区| 4444亚洲人成无码网在线观看| 成年无码av片在线|