二維碼
企資網

掃一掃關注

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

Java23種設計模式之抽象工廠模式

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

模式的定義與特點抽象工廠(AbstractFactory)模式的定義:是一種為訪問類提供一個創建一組相關或相互依賴對象的接口,且訪問類無須指定所要產品的具體類就能得到同族的不同等級的產品的模式結構。抽象工廠模式是工

模式的定義與特點

抽象工廠(AbstractFactory)模式的定義:是一種為訪問類提供一個創建一組相關或相互依賴對象的接口,且訪問類無須指定所要產品的具體類就能得到同族的不同等級的產品的模式結構。

抽象工廠模式是工廠方法模式的升級版本,工廠方法模式只生產一個等級的產品,而抽象工廠模式可生產多個等級的產品。

使用抽象工廠模式一般要滿足以下條件。

系統中有多個產品族,每個具體工廠創建同一族但屬于不同等級結構的產品。

系統一次只可能消費其中某一族產品,即同族的產品一起使用。

抽象工廠模式除了具有工廠方法模式的優點外,其他主要優點如下。

可以在類的內部對產品族中相關聯的多等級產品共同管理,而不必專門引入多個新的類來進行管理。

當需要產品族時,抽象工廠可以保證客戶端始終只使用同一個產品的產品組。

抽象工廠增強了程序的可擴展性,當增加一個新的產品族時,不需要修改原代碼,滿足開閉原則。

其缺點是:當產品族中需要增加一個新的產品時,所有的工廠類都需要進行修改。增加了系統的抽象性和理解難度。

模式的結構與實現

抽象工廠模式同工廠方法模式一樣,也是由抽象工廠、具體工廠、抽象產品和具體產品等 4 個要素構成,但抽象工廠中方法個數不同,抽象產品的個數也不同。現在我們來分析其基本結構和實現方法。

1. 模式的結構

抽象工廠模式的主要角色如下。

抽象工廠(Abstract Factory):提供了創建產品的接口,她包含多個創建產品的方法 newProduct(),可以創建多個不同等級的產品。

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

抽象產品(Product):定義了產品的規范,描述了產品的主要特性和功能,抽象工廠模式有多個抽象產品。

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

抽象工廠模式的結構圖如圖 2 所示。

2. 模式的實現

從圖 2 可以看出抽象工廠模式的結構同工廠方法模式的結構相似,不同的是其產品的種類不止一個,所以創建產品的方法也不止一個。下面給出抽象工廠和具體工廠的代碼。

    抽象工廠:提供了產品的生成方法。

    具體工廠:實現了產品的生成方法。

來源: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

反饋

用戶
反饋

主站蜘蛛池模板: 国产真实伦在线观看| 狠狠色婷婷久久一区二区| 日韩国产在线观看| 国产男女爽爽爽免费视频| 亚洲成a人片在线观看久| 97精品伊人久久大香线蕉| 篠田优在线播放| 妞干网2018| 免费观看一级特黄欧美大片| 一本大道东京热无码一区| 精品深夜av无码一区二区老年| 成人欧美一区二区三区在线| 可以免费观看的一级毛片| 一级三级黄色片| 男人的好电影在线观看| 天天视频一区二区三区| 亚洲精品视频在线观看视频| 99久久综合给久久精品| 污污网站免费在线观看| 国产精品无码翘臀在线观看| 亚洲国产一区二区三区| 欧美色图第三页| 日本在线高清视频日本在线观看成人小视频 | 国产一区二区三区不卡免费观看| 久久99精品视免费看| 说女生二哈是什么意思| 手机看片国产在线| 免费精品无码AV片在线观看| 一级大片免费看| 男生和女生一起差差在线观看| 在线免费观看一区二区三区| 亚洲欧美日韩中字综合| 18女人腿打开无遮掩| 最近中文字幕mv手机免费高清| 国产办公室gv西装男| 中文字幕亚洲综合久久综合| 色噜噜一区二区三区| 成人a在线观看| 午夜看一级特黄a大片黑| 99精品久久久久久久婷婷| 欧美人体一区二区三区|