freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第八講設(shè)計(jì)模式-資料下載頁(yè)

2025-09-19 13:25本頁(yè)面

【導(dǎo)讀】設(shè)計(jì)模式是一些面向?qū)ο蟮能浖_(kāi)發(fā)經(jīng)驗(yàn)總結(jié)。解釋和評(píng)價(jià),是某個(gè)重要的可重現(xiàn)的面向?qū)ο蟮脑O(shè)計(jì)方案。設(shè)計(jì)模式是解決一類相關(guān)問(wèn)題的通用技術(shù)。模式分類和名稱:名稱及一個(gè)簡(jiǎn)短摘要。的使用具有一致性。將不同對(duì)象對(duì)請(qǐng)求的處理形成一個(gè)鏈,使它們都有機(jī)會(huì)檢查請(qǐng)求,從而達(dá)到維持對(duì)象松散耦合的作用。狀態(tài)使對(duì)象在其內(nèi)部狀態(tài)發(fā)生變化時(shí)發(fā)生類似類行為的改變。又發(fā)布了數(shù)百種模式。該模式也稱為簡(jiǎn)單工廠或具體工廠。關(guān)注分離或模塊化為不同領(lǐng)域,以確保內(nèi)聚。常用的替代方案是使用工廠模式,其中定義純虛構(gòu)的。“工廠”對(duì)象來(lái)創(chuàng)建對(duì)象。

  

【正文】 終需要的東西,其內(nèi)部一定充滿了應(yīng)用系統(tǒng)的商業(yè)邏輯 。 59 在什么情形下 使用 抽象工廠 ? 一個(gè)系統(tǒng)不應(yīng)當(dāng)依賴于產(chǎn)品類實(shí)例如何被創(chuàng)建、組合和表達(dá)的細(xì)節(jié),這對(duì)于所有形態(tài)的工廠模式都是重要的。 ? 這個(gè)系統(tǒng)有多于一個(gè)的產(chǎn)品族,而系統(tǒng)只消費(fèi)其中某一產(chǎn)品族。 ? 同屬于同一個(gè)產(chǎn)品族的產(chǎn)品是在一起使用的,這一約束必須在系統(tǒng)的設(shè)計(jì)中體現(xiàn)出來(lái)。 ? 系統(tǒng)提供一個(gè)產(chǎn)品類的庫(kù),所有的產(chǎn)品以同樣的接口出現(xiàn),從而使客戶端不依賴于實(shí)現(xiàn)。 60 開(kāi)放-封閉 原則 ? 開(kāi)放-封閉 原則要求系統(tǒng) 對(duì)擴(kuò)展開(kāi)放,對(duì)修改封閉 。通過(guò)擴(kuò)展達(dá)到增強(qiáng)其功能的目的。對(duì)于涉及到多個(gè)產(chǎn)品族與多個(gè)產(chǎn)品等級(jí)結(jié)構(gòu)的系統(tǒng),其功能增強(qiáng)包括兩方面: ? 增加產(chǎn)品族: Abstract Factory很好的支持了 開(kāi)放-封閉 原則。 ? 增加新產(chǎn)品的等級(jí)結(jié)構(gòu):需要修改所有的工廠角色,沒(méi)有很好支持 開(kāi)放-封閉 原則。 ? 綜合起來(lái),抽象工廠模式以一種傾斜的方式支持增加新的產(chǎn)品,它為新產(chǎn)品族的增加提供方便,而不能為新的產(chǎn)品等級(jí)結(jié)構(gòu)的增加提供這樣的方便。 61 橋接 (Bridge) ? 從蠟筆與毛筆說(shuō)起 ? 設(shè)想要繪制一幅圖畫(huà),藍(lán)天、白云、綠樹(shù)、小鳥(niǎo),如果畫(huà)面尺寸很大 ,總共 3種大寫(xiě) 12種顏色,是用毛筆還是用蠟筆更方便呢? 62 ? 顯而易見(jiàn)用蠟筆需要 3*12=36只,而毛筆是 3+12=15,而且顏色越多用毛筆的優(yōu)勢(shì)越明顯 ? 這就是 Bridge模式 :將抽象化 (Abstraction)與實(shí)現(xiàn)化(Implementation)脫耦,使得二者可以獨(dú)立地變化 63 橋接 (Bridge) 橋接 模式三個(gè)關(guān)鍵詞 ? 抽象化: 存在于多個(gè)實(shí)體中的共同的概念性聯(lián)系,就是抽象化。作為一個(gè)過(guò)程,抽象化就是忽略一些信息,從而把不同的實(shí)體當(dāng)做同樣的實(shí)體對(duì)待。 ? 實(shí)現(xiàn)化: 抽象化給出的具體實(shí)現(xiàn),就是實(shí)現(xiàn)化。 ? 脫耦: 所謂耦合,就是兩個(gè)實(shí)體的行為的某種強(qiáng)關(guān)聯(lián)。而將它們的強(qiáng)關(guān)聯(lián)去掉,就是耦合的解脫,或稱脫耦。在這里,脫耦是指將抽象化和實(shí)現(xiàn)化之間的耦合解脫開(kāi),或者說(shuō)是將它們之間的強(qiáng)關(guān)聯(lián)改換成弱關(guān)聯(lián)。將兩個(gè)角色之間的 繼承關(guān)系改為聚合關(guān)系 ,就是將它們之間的強(qiáng)關(guān)聯(lián)改換成為弱關(guān)聯(lián)。 64 橋接 模式的結(jié)構(gòu) 65 橋接 模式所涉及的角色 ? 抽象化 (Abstraction)角色:抽象化給出的定義,并保存一個(gè)對(duì)實(shí)現(xiàn)化對(duì)象的引用 。 ? 修正抽象化 (Refined Abstraction)角色:擴(kuò)展抽象化角色,改變和修正父類對(duì)抽象化的定義 。 ? 實(shí)現(xiàn)化 (Implementor)角色:這個(gè)角色給出實(shí)現(xiàn)化角色的接口,但不給出具體的實(shí)現(xiàn)。必須指出的是,這個(gè)接口不一定和抽象化角色的接口定義相同,實(shí)際上,這兩個(gè)接口可以非常不一樣。實(shí)現(xiàn)化角色應(yīng)當(dāng)只給出底層操作,而抽象化角色應(yīng)當(dāng)只給出基于底層操作的更高一層的操作。 ? 具體實(shí)現(xiàn)化 (Concrete Implementor)角色:這個(gè)角色給出實(shí)現(xiàn)化角色接口的具體實(shí)現(xiàn)。 66 在什么情況下 使用 橋接 模式 ? 如果一個(gè)系統(tǒng)需要在構(gòu)件的抽象化角色和具體化角色之間增加更多的靈活性,避免在兩個(gè)層次之間建立靜態(tài)的聯(lián)系。 ? 設(shè)計(jì)要求實(shí)現(xiàn)化角色的任何改變不應(yīng)當(dāng)影響客戶端,或者說(shuō)實(shí)現(xiàn)化角色的改變對(duì)客戶端是完全透明的。 ? 一個(gè)構(gòu)件有多于一個(gè)的抽象化角色和實(shí)現(xiàn)化角色,系統(tǒng)需要它們之間進(jìn)行動(dòng)態(tài)耦合。 ? 雖然在系統(tǒng)中使用繼承是沒(méi)有問(wèn)題的,但是由于抽象化角色和具體化角色需要獨(dú)立變化,設(shè)計(jì)要求需要獨(dú)立管理這兩者。 ? 實(shí)例( ) 67 總結(jié) ? 設(shè)計(jì)模式建立在對(duì)系統(tǒng)變化點(diǎn)的基礎(chǔ)上進(jìn)行,哪里有變化點(diǎn),哪里應(yīng)用設(shè)計(jì)模式。 ? 設(shè)計(jì)模式應(yīng)該以演化的方式來(lái)獲得,系統(tǒng)的變化點(diǎn)往往是經(jīng)過(guò)不斷演化才能準(zhǔn)確定位。 ? 不能為了模式而模式,設(shè)計(jì)模式是一種軟件設(shè)計(jì)的軟力量,而非規(guī)范標(biāo)準(zhǔn)。不應(yīng)夸大設(shè)計(jì)模式的作用。 68 推薦書(shū)籍 ? 《 設(shè)計(jì)模式 》 Gamma、 Helm、 Johnson和 Vlissides ? 《 Head First 設(shè)計(jì)模式 》 ? 《 面向模式的軟件體系結(jié)構(gòu) 》 69 謝謝大家! 70
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1