二維碼
企資網

掃一掃關注

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

Java23種設計模式之工廠模式

放大字體  縮小字體 發布日期:2021-08-18 12:53:25    作者:王恒    瀏覽次數:40
導讀

優點:用戶只需要知道具體工廠的名稱就可得到所要的產品,無須知道產品的具體創建過程。靈活性增強,對于新產品的創建,只需多寫一個相應的工廠類。典型的解耦框架。高層模塊只需要知道產品的抽象類,無須關心其他實

優點:

用戶只需要知道具體工廠的名稱就可得到所要的產品,無須知道產品的具體創建過程。

靈活性增強,對于新產品的創建,只需多寫一個相應的工廠類。

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

缺點:

類的個數容易過多,增加復雜度

增加了系統的抽象性和理解難度

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

應用場景:

客戶只知道創建產品的工廠名,而不知道具體的產品名。如 TCL 電視工廠、海信電視工廠等。

創建對象的任務由多個具體子工廠中的某一個完成,而抽象工廠只提供創建產品的接口。

客戶不關心創建產品的細節,只關心產品的品牌

模式的結構與實現

工廠方法模式由抽象工廠、具體工廠、抽象產品和具體產品等4個要素構成。本節來分析其基本結構和實現方法。

1. 模式的結構

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

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

具體工廠(ConcreteFactory):主要是實現抽象工廠中的抽象方法,完成具體產品的創建。

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

具體產品(ConcreteProduct):實現了抽象產品角色所定義的接口,由具體工廠來創建,她同具體工廠之間一一對應。

其結構圖如圖 1 所示。

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

 
(文/王恒)
免責聲明
本文僅代表作發布者:王恒個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們刪除處理郵件: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

反饋

用戶
反饋

主站蜘蛛池模板: 久久人人爽人人爽人人爽| 91啦在线视频| 免费国产污网站在线观看| 成年人在线免费观看视频网站| 高清国产美女一级毛片| 久久精品国产精品国产精品污 | 久久婷婷人人澡人人爱91| 国产无套粉嫩白浆在线| 欧美三级在线观看不卡视频| 18禁无遮挡羞羞污污污污免费 | 久久精品国产免费| 国产成人无码一区二区三区在线 | 国产三级A三级三级| 日本h无羞动漫在线观看网站| 菠萝蜜视频入口| 中国一级毛片录像| 免费99精品国产自在现线| 在线视频你懂的国产福利| 欧美系列第一页| 精品国产一二三区在线影院| 久久天天躁狠狠躁夜夜不卡| 国产AV天堂无码一区二区三区| 小情侣高清国产在线播放| 波多野结衣办公室| 五月婷婷婷婷婷| 中文字幕无码精品亚洲资源网 | 好妻子韩国片在线| 欧美激情一区二区三区蜜桃视频| 多人伦精品一区二区三区视频| 美女**毛片一级视频| a在线观看免费| 亚洲av无码不卡久久| 国产99久久亚洲综合精品| 大乳丰满人妻中文字幕日本| 果冻传媒和91制片厂| 精品视频午夜一区二区| 3d姐弟关系风车动漫(p)_在线观看| 久久天天躁狠狠躁夜夜avai| 人人揉人人爽五月天视频| 国产成人在线观看网站| 女人是男人的未来你的皮肤很柔顺|