已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
DesignPatterns,裝飾模式,劉偉(Sunny)weiliu_china,大綱,裝飾模式概述裝飾模式的結(jié)構(gòu)與實(shí)現(xiàn)裝飾模式的應(yīng)用實(shí)例透明裝飾模式與半透明裝飾模式裝飾模式的優(yōu)缺點(diǎn)與適用環(huán)境,裝修前,裝修后,裝飾模式概述,現(xiàn)實(shí)生活中的“裝飾”實(shí)例,裝飾模式概述,裝飾模式分析可以在不改變一個(gè)對(duì)象本身功能的基礎(chǔ)上給對(duì)象增加額外的新行為是一種用于替代繼承的技術(shù),它通過一種無(wú)須定義子類的方式給對(duì)象動(dòng)態(tài)增加職責(zé),使用對(duì)象之間的關(guān)聯(lián)關(guān)系取代類之間的繼承關(guān)系引入了裝飾類,在裝飾類中既可以調(diào)用待裝飾的原有類的方法,還可以增加新的方法,以擴(kuò)展原有類的功能,裝飾模式概述,裝飾模式的定義對(duì)象結(jié)構(gòu)型模式,裝飾模式概述,裝飾模式的定義以對(duì)客戶透明的方式動(dòng)態(tài)地給一個(gè)對(duì)象附加上更多的責(zé)任可以在不需要?jiǎng)?chuàng)建更多子類的情況下,讓對(duì)象的功能得以擴(kuò)展,裝飾模式的結(jié)構(gòu)與實(shí)現(xiàn),裝飾模式的結(jié)構(gòu),裝飾模式的結(jié)構(gòu)與實(shí)現(xiàn),裝飾模式的結(jié)構(gòu)裝飾模式包含以下4個(gè)角色:Component(抽象構(gòu)件)ConcreteComponent(具體構(gòu)件)Decorator(抽象裝飾類)ConcreteDecorator(具體裝飾類),裝飾模式的結(jié)構(gòu)與實(shí)現(xiàn),裝飾模式的實(shí)現(xiàn)抽象構(gòu)件類典型代碼:,裝飾模式的結(jié)構(gòu)與實(shí)現(xiàn),裝飾模式的實(shí)現(xiàn)具體構(gòu)件類典型代碼:,裝飾模式的結(jié)構(gòu)與實(shí)現(xiàn),裝飾模式的實(shí)現(xiàn)抽象裝飾類典型代碼:,裝飾模式的結(jié)構(gòu)與實(shí)現(xiàn),裝飾模式的實(shí)現(xiàn)具體裝飾類典型代碼:,裝飾模式的應(yīng)用實(shí)例,實(shí)例說明,裝飾模式的應(yīng)用實(shí)例,實(shí)例類圖,圖形界面構(gòu)件庫(kù)結(jié)構(gòu)圖,裝飾模式的應(yīng)用實(shí)例,實(shí)例代碼(1)VisualComponent:抽象界面構(gòu)件類,充當(dāng)抽象構(gòu)件類(2)Window:窗體類,充當(dāng)具體構(gòu)件類(3)TextBox:文本框類,充當(dāng)具體構(gòu)件類(4)ListBox:列表框類,充當(dāng)具體構(gòu)件類(5)ComponentDecorator:構(gòu)件裝飾類,充當(dāng)抽象裝飾類(6)ScrollBarDecorator:滾動(dòng)條裝飾類,充當(dāng)具體裝飾類(7)BlackBorderDecorator:黑色邊框裝飾類,充當(dāng)具體裝飾類(8)Program:客戶端測(cè)試類,演示,參考代碼(DesignPatternDecoratorSample),裝飾模式的應(yīng)用實(shí)例,結(jié)果及分析實(shí)現(xiàn)多次裝飾,透明裝飾模式與半透明裝飾模式,透明裝飾模式透明(Transparent)裝飾模式:要求客戶端完全針對(duì)抽象編程,裝飾模式的透明性要求客戶端程序不應(yīng)該將對(duì)象聲明為具體構(gòu)件類型或具體裝飾類型,而應(yīng)該全部聲明為抽象構(gòu)件類型對(duì)于客戶端而言,具體構(gòu)件對(duì)象和具體裝飾對(duì)象沒有任何區(qū)別,透明裝飾模式與半透明裝飾模式,透明裝飾模式可以讓客戶端透明地使用裝飾之前的對(duì)象和裝飾之后的對(duì)象,無(wú)須關(guān)心它們的區(qū)別可以對(duì)一個(gè)已裝飾過的對(duì)象進(jìn)行多次裝飾,得到更為復(fù)雜、功能更為強(qiáng)大的對(duì)象無(wú)法在客戶端單獨(dú)調(diào)用新增方法AddedBehavior(),透明裝飾模式與半透明裝飾模式,半透明裝飾模式半透明(Semi-transparent)裝飾模式:用具體裝飾類型來(lái)定義裝飾之后的對(duì)象,而具體構(gòu)件使用抽象構(gòu)件類型來(lái)定義對(duì)于客戶端而言,具體構(gòu)件類型無(wú)須關(guān)心,是透明的;但是具體裝飾類型必須指定,這是不透明的,透明裝飾模式與半透明裝飾模式,半透明裝飾模式可以給系統(tǒng)帶來(lái)更多的靈活性,設(shè)計(jì)相對(duì)簡(jiǎn)單,使用起來(lái)也非常方便客戶端使用具體裝飾類型來(lái)定義裝飾后的對(duì)象,因此可以單獨(dú)調(diào)用AddedBehavior()方法最大的缺點(diǎn)在于不能實(shí)現(xiàn)對(duì)同一個(gè)對(duì)象的多次裝飾,而且客戶端需要有區(qū)別地對(duì)待裝飾之前的對(duì)象和裝飾之后的對(duì)象,裝飾模式的優(yōu)缺點(diǎn)與適用環(huán)境,模式優(yōu)點(diǎn)對(duì)于擴(kuò)展一個(gè)對(duì)象的功能,裝飾模式比繼承更加靈活,不會(huì)導(dǎo)致類的個(gè)數(shù)急劇增加可以通過一種動(dòng)態(tài)的方式來(lái)擴(kuò)展一個(gè)對(duì)象的功能,通過配置文件可以在運(yùn)行時(shí)選擇不同的具體裝飾類,從而實(shí)現(xiàn)不同的行為可以對(duì)一個(gè)對(duì)象進(jìn)行多次裝飾具體構(gòu)件類與具體裝飾類可以獨(dú)立變化,用戶可以根據(jù)需要增加新的具體構(gòu)件類和具體裝飾類,且原有類庫(kù)代碼無(wú)須改變,符合開閉原則,裝飾模式的優(yōu)缺點(diǎn)與適用環(huán)境,模式缺點(diǎn)使用裝飾模式進(jìn)行系統(tǒng)設(shè)計(jì)時(shí)將產(chǎn)生很多小對(duì)象,大量小對(duì)象的產(chǎn)生勢(shì)必會(huì)占用更多的系統(tǒng)資源,在一定程度上影響程序的性能比繼承更加易于出錯(cuò),排錯(cuò)也更困難,對(duì)于多次裝飾的對(duì)象,調(diào)試時(shí)尋找錯(cuò)誤可能需要逐級(jí)排查,較為煩瑣,裝飾模式的優(yōu)缺點(diǎn)與適用環(huán)境,模式適用環(huán)境在不影響其他對(duì)象的情況下,以動(dòng)態(tài)、透明的方
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 外骨科護(hù)士考核制度
- 鈦白粉倉(cāng)庫(kù)考核制度
- 車間干部月考核制度
- 業(yè)務(wù)員基本考核制度
- 化工廠綜合考核制度
- 鐵路專用線考核制度
- 導(dǎo)師工作室考核制度
- 辦公區(qū)用電考核制度
- 財(cái)險(xiǎn)公司考核制度
- 幼兒園行風(fēng)考核制度
- T/TMAC 031.F-2020企業(yè)研發(fā)管理體系要求
- 簡(jiǎn)易運(yùn)輸合同協(xié)議書模板
- 高考英語(yǔ)必背600短語(yǔ)總結(jié)
- 防滲漏體系策劃培訓(xùn)(中建)
- 鍋爐教材模塊一鍋爐認(rèn)知
- GB/T 34765-2024肥料和土壤調(diào)理劑黃腐酸含量及碳系數(shù)的測(cè)定方法
- 傳染性疾病影像學(xué)課件
- 監(jiān)獄服裝加工合同范本
- HG20202-2014 脫脂工程施工及驗(yàn)收規(guī)范
- 廣東省幼兒園一日活動(dòng)指引(試行)
- (高清版)TDT 1057-2020 國(guó)土調(diào)查數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論