


下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 i工廠模式,簡(jiǎn)單工廠模式,抽象工廠模式三者有什么區(qū)別問(wèn)題:工廠模式,簡(jiǎn)單工廠模式,抽象工廠模式三者有什么區(qū)別回答:工廠模式,也叫做說(shuō)虛構(gòu)造器,在簡(jiǎn)單工廠中間插入了一個(gè)具體產(chǎn)品工廠,這個(gè)工廠知道產(chǎn)品構(gòu)造時(shí)候的具體細(xì)節(jié),而簡(jiǎn)單工廠模式的產(chǎn)品具體構(gòu)造細(xì)節(jié)是在一個(gè)個(gè)if/else分支,或者在switch/case分支里面的。工廠模式的好處就在于將工廠和產(chǎn)品之間的耦合降低,將具體產(chǎn)品的構(gòu)造過(guò)程放在了具體工廠類里面。在以后擴(kuò)展產(chǎn)品的時(shí)候方便很多,只需要添加一個(gè)工廠類,一個(gè)產(chǎn)品類,就能方便的添加產(chǎn)品,而不需要修改原有的代碼。而在簡(jiǎn)單工廠中,如果要增加一個(gè)產(chǎn)品,則需要修改工廠類,增加if/else分支,或者
2、增加一個(gè)case分支,工廠模式符合軟件開(kāi)發(fā)中的OCP原則(opencloseprinciple),對(duì)擴(kuò)展開(kāi)放,對(duì)修改關(guān)閉。抽象工廠模式:這個(gè)模式我總是感覺(jué)和builder模式非常相似。工廠方法模式提供的是對(duì)一個(gè)產(chǎn)品的等級(jí)模式,而抽象工廠方法提供的是對(duì)多個(gè)產(chǎn)品的等級(jí)模式,注意,這里的多個(gè)具體產(chǎn)品之間是相互耦合的,也就是說(shuō)這里的抽象工廠提供的產(chǎn)品之間是存在某種聯(lián)系的。有人做如下的比較: 工廠方法模式:一個(gè)抽象產(chǎn)品類,可以派生出多個(gè)具體產(chǎn)品類。一個(gè)抽象工廠類,可以派生出多個(gè)具體工廠類。每個(gè)具體工廠類只能創(chuàng)建一個(gè)具體產(chǎn)品類的實(shí)例。抽象工廠模式:多個(gè)抽象產(chǎn)品類,每個(gè)抽象產(chǎn)品類可以派生出多個(gè)具體產(chǎn)品類。一
3、個(gè)抽象工廠類,可以派生出多個(gè)具體工廠類。每個(gè)具體工廠類可以創(chuàng)建多個(gè)具體產(chǎn)品類的實(shí)例。區(qū)別:工廠方法模式只有一個(gè)抽象產(chǎn)品類,而抽象工廠模式有多個(gè)。工廠方法模式的具體工廠類只能創(chuàng)建一個(gè)具體產(chǎn)品類的實(shí)例,而抽象工廠模式可以創(chuàng)建多個(gè)。下面是一個(gè)形象的比喻:無(wú)論是簡(jiǎn)單工廠模式、工廠模式還是抽象工廠模式,它們本質(zhì)上都是將不變的部分提取出來(lái),將可變的部分留作接口,以達(dá)到最大程度上的復(fù)用。拿一個(gè)生產(chǎn)水杯(cup)的工廠舉例:起初,不用工廠模式,我必須在生產(chǎn)水杯之前知道水杯的材料和形狀等水杯的所有特征才能生產(chǎn),這就是我們的newCup();這個(gè)Cup必須是具體的。廠主發(fā)現(xiàn)同一形狀的被子,只是材料不同,如一個(gè)是玻
4、璃(glass)的,一個(gè)是瓷(china)的,但是確要兩條生產(chǎn)線,顯然有資源浪費(fèi)的嫌疑?,F(xiàn)在廠主生產(chǎn)杯子時(shí)先不讓生產(chǎn)線知道我要產(chǎn)的是玻璃的還是瓷的,而是讓它在不知道具體材料的情況下先做它能做的,等到它把模具做好,只需要向其中填充玻璃原料或者瓷原料就可以造出同一形狀的具體杯子了。但是很可惜,java并不能new一個(gè)抽象的Cup,所以就有了簡(jiǎn)單工廠模式。原來(lái)是Cupcup=newCup;現(xiàn)在是SimpleCupFactory.createCup(StringcupName),根據(jù)cup的名字生產(chǎn)Cup,而createCup返回的是一個(gè)實(shí)現(xiàn)了Cup接口或抽象類的具體Cup。簡(jiǎn)單抽象工廠模式有一個(gè)問(wèn)題,就是當(dāng)我現(xiàn)在想生產(chǎn)一個(gè)同樣形狀的鐵杯時(shí),工廠里并沒(méi)有定義相應(yīng)的處理流程,只能更改createCup方法,這就不合理了。我現(xiàn)在只是想生產(chǎn)鐵杯,你只要在最后的時(shí)候把玻璃原料換成鐵的不就行了嗎,干嘛還要更改整條生產(chǎn)線呢于是就有了工廠模式。原來(lái)生產(chǎn)線在生產(chǎn)模具的時(shí)候還要考慮是為玻璃杯生產(chǎn)的模具還是為鐵杯生產(chǎn)的模具,現(xiàn)在它不用管了。CupFactory.createCup()創(chuàng)建Cup.CupFactory是接口或抽象類。實(shí)現(xiàn)它的具體子類會(huì)創(chuàng)建符合Cup接口的具體Cup。那么現(xiàn)在廠主想要生產(chǎn)水壺(kettle),用工廠模式就不得
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年北京考貨運(yùn)資格證考試內(nèi)容
- 產(chǎn)品技術(shù)服務(wù)合同
- 信貸業(yè)務(wù)審批流程詳述
- 全新顧問(wèn)聘用協(xié)議
- 《數(shù)據(jù)可視化技術(shù)應(yīng)用》2.2 揭示商品庫(kù)存數(shù)據(jù)動(dòng)態(tài)-教案
- 2025年遼陽(yáng)道路貨運(yùn)駕駛員從業(yè)資格證考試
- 營(yíng)林生產(chǎn)松林擇間伐改造提升承攬合同6篇
- 《藥物分析》課程標(biāo)準(zhǔn)
- 駕校合伙投資合同范本
- 單位食堂聘用合同范本
- 幼兒園公開(kāi)課:大班語(yǔ)言《相反國(guó)》課件(優(yōu)化版)
- 水利設(shè)施維護(hù)投標(biāo)方案(技術(shù)標(biāo))
- 2024屆湖南省長(zhǎng)沙市湖南師大附中等校高三上學(xué)期月考(二)語(yǔ)文試題(解析版)
- 上海科技版小學(xué)二年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)全冊(cè)教案
- 氣缸磨損的測(cè)量說(shuō)課教案
- 《高鐵乘務(wù)安全管理及應(yīng)急處置》課程教案-崔藝琳編寫
- 前言 馬克思主義中國(guó)化時(shí)代化的歷史進(jìn)程與理論成果
- 產(chǎn)品可靠性測(cè)試計(jì)劃
- 21ZJ111 變形縫建筑構(gòu)造
- 心理健康與職業(yè)生涯(中職)PPT完整全套教學(xué)課件
- 中國(guó)文藝美學(xué)要略·論著·《畫學(xué)心法問(wèn)答》
評(píng)論
0/150
提交評(píng)論