二維碼
        企資網

        掃一掃關注

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

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

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

        模式的定義與特點抽象工廠(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

        反饋

        用戶
        反饋

        天堂亚洲国产中文在线| 最好看最新高清中文视频| 亚洲中文字幕无码爆乳av中文| 国产成人A人亚洲精品无码| 高清无码中文字幕在线观看视频| 久久久无码精品亚洲日韩软件| 亚洲Av综合色区无码专区桃色| 最近免费字幕中文大全视频 | 最近最好最新2019中文字幕免费| A∨变态另类天堂无码专区| 亚洲AV永久无码精品| 日韩精品无码人妻一区二区三区| 日韩高清在线中文字带字幕| AV无码久久久久不卡网站下载| 亚洲AV成人无码久久精品老人| 无码毛片AAA在线| 亚洲欧美日韩在线不卡中文| 日本aⅴ精品中文字幕| 国偷自产短视频中文版| 人妻少妇精品无码专区动漫| 国产激情无码一区二区app| 久久午夜伦鲁片免费无码| 亚洲AV无码专区在线播放中文 | 一夲道无码人妻精品一区二区| 国产中文在线亚洲精品官网| 中文亚洲AV片不卡在线观看| 欧美乱人伦中文字幕在线| 一本大道无码日韩精品影视| 亚洲AV无码专区日韩| 午夜亚洲av永久无码精品| 极品粉嫩嫩模大尺度无码视频| 国产成人亚洲综合无码精品 | 4hu亚洲人成人无码网www电影首页 | 国产成人无码一二三区视频| 中文字幕无码不卡免费视频| 天堂中文字幕在线| 无码av高潮喷水无码专区线| 十八禁视频在线观看免费无码无遮挡骂过 | 无码AV动漫精品一区二区免费| 白嫩少妇激情无码| 亚洲自偷自偷偷色无码中文|