国产成人啪精品视频免费网-国产成人啪精品视频免费网站软件-国产成人盗拍精品免费视频-国产成人深夜福利在线观看-a中文字幕1区-a毛片

二維碼
企資網

掃一掃關注

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

工廠模式學習——工廠方法模式

放大字體  縮小字體 發布日期:2023-03-12 22:42:36    作者:付嘉懿    瀏覽次數:62
導讀

一、概念介紹前面學習了簡單工廠模式(簡單工廠模式的學習),簡單工廠模式存在很多問題。經過實踐,業界針對其違反開閉原則的缺點進行改進,有了工廠方法模式。工廠方法模式:又稱工廠模式、多態工廠模式和虛擬構造

一、概念介紹

前面學習了簡單工廠模式(簡單工廠模式的學習),簡單工廠模式存在很多問題。經過實踐,業界針對其違反開閉原則的缺點進行改進,有了工廠方法模式。

工廠方法模式:又稱工廠模式、多態工廠模式和虛擬構造器模式,通過定義工廠父類負責定義創建對象的公共接口,而子類則負責生成具體的對象。

二、實現示例

2.1 UML類圖

以生產汽車為例,將汽車制造工廠定義為一個公共接口CarFactory,分別由BaoMa生產工廠類于BenChi生產工廠類各自實現,各自的工廠通過對應汽車的構造方法來創建對應的汽車實例。

UML類圖

2.2 具體代碼

2.2.1 汽車產品的定義與實現

汽車接口

public interface Car { void showBrand();}

兩個具體實現類

public class BaoMa implements Car{ @Override public void showBrand() { System.out.println("this car's brand is BaoMa!"); }}

public class BenChi implements Car{ @Override public void showBrand() { System.out.println("this car's brand is BenChi!"); }}

工廠接口及其實現類

public interface CarFactory { Car produceCar();}

public class BaoMaFactory implements CarFactory{ @Override public Car produceCar() { System.out.println("由寶馬工廠制造具體的寶馬汽車"); return new BaoMa(); }}

public class BenChiFactory implements CarFactory{ @Override public Car produceCar() { System.out.println("由奔馳工廠制造具體的奔馳汽車"); return new BenChi(); }}

使用代碼:

public class FactoryMethodTest { public static void main(String[] args) { BaoMaFactory baoMaFactory = new BaoMaFactory(); Car baoma = baoMaFactory.produceCar(); baoma.showBrand(); System.out.println("==============================="); BenChiFactory benChiFactory = new BenChiFactory(); Car benchi = benChiFactory.produceCar(); benchi.showBrand(); }}

運行結果:

控制臺輸出

三、優缺點分析

優點:

(1)更符合開閉原則

(2)符合單一職責原則

(3)讓擴展變得簡單,讓繼承變得可行,增加了多態性的體現

缺點:

(1)新增加產品類時,還需要增加與之對應的具體工廠類,系統中類的個數將成對增加,在一定程度上增加了系統的復雜度;

(2)需要引入抽象層,增加了系統的抽象性和理解難度。

四、實際應用

(1)JDK中的Collection接口

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

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

粵ICP備16078936號

微信

關注
微信

微信二維碼

WAP二維碼

客服

聯系
客服

聯系客服:

在線QQ: 303377504

客服電話: 020-82301567

E_mail郵箱: [email protected]

微信公眾號: weishitui

客服001 客服002 客服003

工作時間:

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

反饋

用戶
反饋

主站蜘蛛池模板: 欧美最大成人毛片视频网站 | 996热这里有精品青青草原 | 亚洲成年男人的天堂网 | 国产成人精品男人的天堂538 | 全免费a级毛片免费毛视频 全午夜免费一级毛片 | 国产一级第一级毛片 | 在线成人免费看大片 | 日韩欧美亚洲中字幕在线播放 | 久草国产视频 | 欧美精品久久久久久久免费观看 | 中文字幕在线看视频一区二区三区 | 亚洲国产高清在线精品一区 | 成人 在线播放 | 97在线观看完整免费 | 黄色美女视频免费看 | 亚洲国产精品日韩在线观看 | 男人操美女逼视频 | 日韩欧美一区二区三区久久 | 毛片免费视频网站 | 在线视频一二三区2021不卡 | 二区久久国产乱子伦免费精品 | 久久精品国产99久久6动漫欧 | 欧美一区二区三区久久综合 | 国产高清在线观看视频手机版 | 久久99亚洲精品久久 | 中午字幕在线观看 | 国产亚洲三级 | 亚洲加勒比| 精品国产综合区久久久久久 | 国产成人aa在线视频 | 免费在线观看黄色毛片 | a毛片视频免费观看影院 | 亚洲一级在线 | 久久99国产亚洲高清观看首页 | 男人使劲躁女人视频小v | 一区二区三区中文字幕 | 在线亚洲自拍 | 亚洲小视频在线播放 | 国产精品高清全国免费观看 | 日韩在线视频线视频免费网站 | 久久亚洲精品一区成人 |