《簡單工廠模式》PPT課件

《簡單工廠模式》PPT課件

ID:41268622

大?。?.32 MB

頁數(shù):42頁

時間:2019-08-20

《簡單工廠模式》PPT課件_第1頁
《簡單工廠模式》PPT課件_第2頁
《簡單工廠模式》PPT課件_第3頁
《簡單工廠模式》PPT課件_第4頁
《簡單工廠模式》PPT課件_第5頁
資源描述:

《《簡單工廠模式》PPT課件》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、第4章簡單工廠模式本章教學(xué)內(nèi)容創(chuàng)建型模式創(chuàng)建型模式概述創(chuàng)建型模式簡介簡單工廠模式模式動機與定義模式結(jié)構(gòu)與分析模式實例與解析模式效果與應(yīng)用模式擴展創(chuàng)建型模式創(chuàng)建型模式概述創(chuàng)建型模式(CreationalPattern)對類的實例化過程進(jìn)行了抽象,能夠?qū)④浖K中對象的創(chuàng)建和對象的使用分離。為了使軟件的結(jié)構(gòu)更加清晰,外界對于這些對象只需要知道它們共同的接口,而不清楚其具體的實現(xiàn)細(xì)節(jié),使整個系統(tǒng)的設(shè)計更加符合單一職責(zé)原則。創(chuàng)建型模式創(chuàng)建型模式概述創(chuàng)建型模式在創(chuàng)建什么(What),由誰創(chuàng)建(Who),何時創(chuàng)建(Whe

2、n)等方面都為軟件設(shè)計者提供了盡可能大的靈活性。創(chuàng)建型模式隱藏了類的實例的創(chuàng)建細(xì)節(jié),通過隱藏對象如何被創(chuàng)建和組合在一起達(dá)到使整個系統(tǒng)獨立的目的。創(chuàng)建型模式想吃蘋果!?創(chuàng)建型模式概述創(chuàng)建型模式概述創(chuàng)建型模式獲取蘋果的兩種方式自己種蘋果樹去超市買創(chuàng)建型模式簡單工廠模式(SimpleFactory)工廠方法模式(FactoryMethod)抽象工廠模式(AbstractFactory)建造者模式(Builder)原型模式(Prototype)單例模式(Singleton)創(chuàng)建型模式簡介簡單工廠模式模式動機只需要知道

3、水果的名字則可得到相應(yīng)的水果簡單工廠模式模式動機考慮一個簡單的軟件應(yīng)用場景,一個軟件系統(tǒng)可以提供多個外觀不同的按鈕(如圓形按鈕、矩形按鈕、菱形按鈕等),這些按鈕都源自同一個基類,不過在繼承基類后不同的子類修改了部分屬性從而使得它們可以呈現(xiàn)不同的外觀,如果我們希望在使用這些按鈕時,不需要知道這些具體按鈕類的名字,只需要知道表示該按鈕類的一個參數(shù),并提供一個調(diào)用方便的方法,把該參數(shù)傳入方法即可返回一個相應(yīng)的按鈕對象,此時,就可以使用簡單工廠模式。簡單工廠模式模式定義簡單工廠模式(SimpleFactoryPatt

4、ern):又稱為靜態(tài)工廠方法(StaticFactoryMethod)模式,它屬于類創(chuàng)建型模式。在簡單工廠模式中,可以根據(jù)參數(shù)的不同返回不同類的實例。簡單工廠模式專門定義一個類來負(fù)責(zé)創(chuàng)建其他類的實例,被創(chuàng)建的實例通常都具有共同的父類。簡單工廠模式模式結(jié)構(gòu)簡單工廠模式模式結(jié)構(gòu)簡單工廠模式包含如下角色:Factory:工廠角色Product:抽象產(chǎn)品角色ConcreteProduct:具體產(chǎn)品角色簡單工廠模式模式分析分析如下代碼:publicvoidpay(Stringtype){if(type.equalsIg

5、noreCase("cash")){cashpayx=newcashpay()…..}elseif(type.equalsIgnoreCase("creditcard")){CreditcardPayx=newCreditcardPay()….}elseif(type.equalsIgnoreCase("voucher")){Voucherpayx=newVoucherpay()…}else{……}}對象創(chuàng)建和業(yè)務(wù)處理混合在一起,代碼復(fù)雜,難以維護。簡單工廠模式模式分析上述代碼可表示為下圖:例如,當(dāng)修改對象服

6、務(wù)類名或創(chuàng)建方式時,所有的客戶應(yīng)用都需要更改。較高的耦合!客戶應(yīng)用需要知道對象創(chuàng)建細(xì)節(jié),如服務(wù)類名,創(chuàng)建方式等。工廠負(fù)責(zé)服務(wù)的實例化,客戶端采用統(tǒng)一的方式創(chuàng)建對象。當(dāng)修改對象服務(wù)類名時,只需修改工廠。有效降低了應(yīng)用程序與服務(wù)對象之間的耦合性,通過工廠來解耦,封裝可變部分,提供程序的應(yīng)對變化的適應(yīng)能力。簡單工廠模式模式分析重構(gòu)后的代碼:publicabstractclassAbstractPay{publicabstractvoidpay();}publicclassCashPayextendsAbstract

7、Pay{publicvoidpay(){//現(xiàn)金支付處理代碼}}抽象支付類具體支付類簡單工廠模式模式分析重構(gòu)后的代碼:publicclassPayMethodFactory{publicstaticAbstractPaygetPayMethod(Stringtype){if(type.equalsIgnoreCase("cash")){returnnewCashPay();//根據(jù)參數(shù)創(chuàng)建具體產(chǎn)品}elseif(type.equalsIgnoreCase("creditcard")){returnnewCre

8、ditcardPay();//根據(jù)參數(shù)創(chuàng)建具體產(chǎn)品}……}}支付工廠簡單工廠模式模式分析將對象的創(chuàng)建和對象本身業(yè)務(wù)處理分離可以降低二者的依賴,以降低系統(tǒng)的耦合度,使得兩者修改起來都相對容易。在調(diào)用工廠類的工廠方法時,由于工廠方法是靜態(tài)方法,使用起來很方便,可通過類名直接調(diào)用,而且只需要傳入一個簡單的參數(shù)即可,在實際開發(fā)中,還可以在調(diào)用時將所傳入的參數(shù)保存在XML等格式的配置文件中,修改參數(shù)時無須修改

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。