欧美不卡在线-夜夜操影院-久久久久999-在线视频一区二区三区-国产精品五区-中文字幕在线日韩

二維碼
企資網(wǎng)

掃一掃關(guān)注

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

工廠模式學(xué)習(xí)——工廠方法模式

放大字體  縮小字體 發(fā)布日期:2023-03-12 22:42:36    作者:付嘉懿    瀏覽次數(shù):92
導(dǎo)讀

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

一、概念介紹

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

工廠方法模式:又稱工廠模式、多態(tài)工廠模式和虛擬構(gòu)造器模式,通過定義工廠父類負責(zé)定義創(chuàng)建對象的公共接口,而子類則負責(zé)生成具體的對象。

二、實現(xiàn)示例

2.1 UML類圖

以生產(chǎn)汽車為例,將汽車制造工廠定義為一個公共接口CarFactory,分別由BaoMa生產(chǎn)工廠類于BenChi生產(chǎn)工廠類各自實現(xiàn),各自的工廠通過對應(yīng)汽車的構(gòu)造方法來創(chuàng)建對應(yīng)的汽車實例。

UML類圖

2.2 具體代碼

2.2.1 汽車產(chǎn)品的定義與實現(xiàn)

汽車接口

public interface Car { void showBrand();}

兩個具體實現(xiàn)類

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!"); }}

工廠接口及其實現(xiàn)類

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(); }}

運行結(jié)果:

控制臺輸出

三、優(yōu)缺點分析

優(yōu)點:

(1)更符合開閉原則

(2)符合單一職責(zé)原則

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

缺點:

(1)新增加產(chǎn)品類時,還需要增加與之對應(yīng)的具體工廠類,系統(tǒng)中類的個數(shù)將成對增加,在一定程度上增加了系統(tǒng)的復(fù)雜度;

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

四、實際應(yīng)用

(1)JDK中的Collection接口

 
(文/付嘉懿)
免責(zé)聲明
本文僅代表作發(fā)布者:付嘉懿個人觀點,本站未對其內(nèi)容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(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

反饋

用戶
反饋

主站蜘蛛池模板: 日本欧美一区二区三区视频 | 91精品国产综合久久久久久 | 成人毛片国产a | 欧美久久久久久久久 | 国产成人免费视频精品一区二区 | 亚洲成人免费视频 | 看日本真人一一级特黄毛片 | 欧美大片在线播放 | 免费看欧美日韩一区二区三区 | 久久精品一区二区免费看 | 波多野结衣aⅴ在线 | 国产成人小视频 | 亚洲成人高清 | 精品亚洲欧美高清不卡高清 | 成人综合影院 | 国产一区二区免费视频 | 欧美一级毛片一免费 | 999久久久精品视频在线观看 | 九九视频在线 | 欧美国产日本高清不卡 | 成人免费网站在线观看 | 国产欧美网站 | 99视频在线永久免费观看 | 国产午夜毛片一区二区三区 | 加勒比综合在线 | 亚洲欧美国产精品久久久 | 成人看片在线观看免费 | 国产精品久久国产三级国电话系列 | 中文字幕精品一区二区绿巨人 | 色秀视频在线观看88品善网 | 久久国产片 | 国产成人综合日韩精品无 | 亚洲欧美视频二区 | 末成年娇小性色xxxxx | 欧美成人性生活视频 | 久久久在线视频精品免费观看 | 国产美女午夜精品福利视频 | 国产精品99r8免费视频2022 | 成 人色 网 站 欧美大片在线观看 | 久青草国产在线 | 亚洲欧美精品网站在线观看 |