




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、簡(jiǎn)單工廠模式Simple Factory Pattern,虞鵬,設(shè)計(jì)模式之,意圖,專(zhuān)門(mén)定義一個(gè)類(lèi)來(lái)負(fù)責(zé)創(chuàng)建其他類(lèi)的實(shí)例,被創(chuàng)建的實(shí)例通常都具有共同的父類(lèi). (Simple Factory)模式又稱(chēng)為靜態(tài)工廠方法(Static Factory Method)模式,屬于類(lèi)的創(chuàng)建型模式,通常他根據(jù)自變量的不同返回不同類(lèi)的實(shí)例.,簡(jiǎn)單工廠模式實(shí)質(zhì)是由一個(gè)工廠類(lèi)根據(jù)傳入的參量,動(dòng)態(tài)的決定應(yīng)該創(chuàng)建出哪一個(gè)產(chǎn)品類(lèi)的實(shí)例. 簡(jiǎn)單工廠模式實(shí)際上不屬于23個(gè)GOF模式,但他可以作為工廠方法模式(Factory Method)的一個(gè)引導(dǎo).,工廠角色:是簡(jiǎn)單工廠的核心,他負(fù)責(zé)實(shí)現(xiàn)創(chuàng)建所有實(shí)例內(nèi)部邏輯.工廠類(lèi)可以被外界
2、直接調(diào)用,創(chuàng)建所需的產(chǎn)品對(duì)象 抽象產(chǎn)品角色:是簡(jiǎn)單工廠模式所創(chuàng)建的所有對(duì)象父類(lèi),他負(fù)責(zé)描述所有實(shí)例所共有的公共接口 具體產(chǎn)品角色:是簡(jiǎn)單工廠模式的創(chuàng)建目標(biāo),所有創(chuàng)建的對(duì)象都是充當(dāng)這個(gè)角色的某個(gè)具體類(lèi)的實(shí)例.,抽象產(chǎn)品角色,interface IFruit void disp(); ,具體產(chǎn)品角色,class 蘋(píng)果 : IFruit public void disp() Console.WriteLine(蘋(píng)果); class 橘子 : IFruit public void disp() Console.WriteLine(橘子); class 葡萄 : IFruit public void d
3、isp() Console.WriteLine(葡萄); ,工廠角色,class Factory public static IFruit Create(string type) switch(type) case 蘋(píng)果: return new 蘋(píng)果(); case 橘子: return new 橘子(); case 葡萄: return new 葡萄(); default: return null; ,class Program static void Main(string args) IFruit p = Factory.Create(蘋(píng)果); p.disp(); ,優(yōu)點(diǎn),工廠類(lèi)是整個(gè)模
4、式的關(guān)鍵.包含了必要的邏輯判斷,根據(jù)外界給定的信息,決定究竟應(yīng)該創(chuàng)建哪個(gè)具體類(lèi)的對(duì)象.通過(guò)使用工廠類(lèi),外界可以從直接創(chuàng)建具體產(chǎn)品對(duì)象的尷尬局面擺脫出來(lái),僅僅需要負(fù)責(zé)“消費(fèi)”對(duì)象就可以了而不必管這些對(duì)象究竟如何創(chuàng)建及如何組織的明確了各自的職責(zé)和權(quán)利,有利于整個(gè)軟件體系結(jié)構(gòu)的優(yōu)化,缺點(diǎn),由于工廠類(lèi)集中了所有實(shí)例的創(chuàng)建邏輯,違反了高內(nèi)聚責(zé)任分配原則,將全部創(chuàng)建邏輯集中到了一個(gè)工廠類(lèi)中 當(dāng)系統(tǒng)中的具體產(chǎn)品類(lèi)不斷增多時(shí)候,可能會(huì)出現(xiàn)要求工廠類(lèi)根據(jù)不同條件創(chuàng)建不同實(shí)例的需求這種對(duì)條件的判斷和對(duì)具體產(chǎn)品類(lèi)型的判斷交錯(cuò)在一起,很難避免模塊功能的蔓延,對(duì)系統(tǒng)的維護(hù)和擴(kuò)展非常不利 這些缺點(diǎn)在工廠方法模式中得到了一定的克服,適用情景,工廠類(lèi)負(fù)責(zé)創(chuàng)建的對(duì)象比較少 客戶(hù)只
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國(guó)奧硝唑氯化鈉注射液數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)多槽式超聲波汽相清洗機(jī)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)卷管車(chē)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)十八速后撥導(dǎo)輪數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)刺繡字畫(huà)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國(guó)高效營(yíng)養(yǎng)土市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)立式網(wǎng)帶復(fù)合機(jī)市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)盆景霧化器連接線市場(chǎng)調(diào)查研究報(bào)告
- 物流裝卸承包合同范本
- 橋梁工程勞務(wù)分包合同范本
- 代理法人免責(zé)協(xié)議書(shū)版本
- 2024年青島港灣職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)必考題
- 門(mén)診導(dǎo)診課件
- python程序設(shè)計(jì)-說(shuō)課
- 《糖尿病患者血脂管理中國(guó)專(zhuān)家共識(shí)(2024版)》解讀
- 廣州石牌村改造規(guī)劃方案
- 麥克利蘭-海氏-超全的6族21項(xiàng) -勝任特征辭典的起源與發(fā)展
- GB/T 22919.12-2024水產(chǎn)配合飼料第12部分:鯽魚(yú)配合飼料
- IP承載網(wǎng)架構(gòu)規(guī)劃及路由部署N
- (完整word版)現(xiàn)代漢語(yǔ)常用詞表
- 藏藥專(zhuān)業(yè)知識(shí)講座培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論